chrome.sockets.tcp

Mô tả

Dùng API chrome.sockets.tcp để gửi và nhận dữ liệu qua mạng bằng kết nối TCP. API này thay thế chức năng TCP trước đó có trong API chrome.socket.

Tệp kê khai

Bạn phải khai báo các khoá sau trong tệp kê khai để sử dụng API này.

"sockets"

Loại

CreateInfo

Thuộc tính

  • socketId

    số

    Mã của ổ cắm mới được tạo. Lưu ý rằng mã ổ cắm được tạo từ API này không tương thích với mã ổ cắm được tạo từ các API khác, chẳng hạn như API [ổ cắm](../socket/) không dùng nữa.

DnsQueryType

Chrome 103 trở lên

Lựa chọn ưu tiên về hoạt động phân giải DNS. Giá trị mặc định là any và sử dụng cấu hình hệ điều hành hiện tại có thể trả về IPv4 hoặc IPv6. ipv4 buộc thực thi IPv4, còn ipv6 buộc thực thi IPv6.

Enum

"any"

"ipv4"

"ipv6"

ReceiveErrorInfo

Thuộc tính

  • resultCode

    số

    Mã kết quả được trả về từ lệnh gọi mạng cơ bản.

  • socketId

    số

    Mã nhận dạng ổ cắm.

ReceiveInfo

Thuộc tính

  • dữ liệu

    ArrayBuffer

    Dữ liệu đã nhận, với kích thước tối đa là bufferSize.

  • socketId

    số

    Mã nhận dạng ổ cắm.

SecureOptions

Thuộc tính

SendInfo

Thuộc tính

  • bytesSent

    số không bắt buộc

    Số byte đã gửi (nếu kết quả == 0)

  • resultCode

    số

    Mã kết quả được trả về từ lệnh gọi mạng cơ bản. Giá trị âm cho biết có lỗi.

SocketInfo

Thuộc tính

  • bufferSize

    số không bắt buộc

    Dung lượng vùng đệm dùng để nhận dữ liệu. Nếu không có dung lượng bộ nhớ đệm nào được chỉ định rõ ràng, thì giá trị sẽ không được cung cấp.

  • đã kết nối

    boolean

    Cờ cho biết liệu ổ cắm có được kết nối với một ứng dụng ngang hàng từ xa hay không.

  • localAddress

    chuỗi không bắt buộc

    Nếu ổ cắm cơ bản được kết nối, ổ cắm này sẽ chứa địa chỉ IPv4/6 cục bộ.

  • localPort

    số không bắt buộc

    Nếu ổ cắm cơ bản đã được kết nối, có chứa cổng cục bộ.

  • tên

    chuỗi không bắt buộc

    Chuỗi do ứng dụng xác định được liên kết với ổ cắm.

  • tạm dừng

    boolean

    Cờ cho biết liệu cổng được kết nối có chặn ứng dụng ngang hàng gửi thêm dữ liệu hay không (xem setPaused).

  • peerAddress

    chuỗi không bắt buộc

    Nếu ổ cắm cơ bản được kết nối, chứa địa chỉ ngang hàng/ IPv4/6.

  • peerPort

    số không bắt buộc

    Nếu ổ cắm cơ bản đã được kết nối thì có chứa cổng ngang hàng.

  • liên tục

    boolean

    Cờ cho biết liệu ổ cắm có đang mở khi ứng dụng bị tạm ngưng hay không (xem SocketProperties.persistent).

  • socketId

    số

    Mã nhận dạng ổ cắm.

SocketProperties

Thuộc tính

  • bufferSize

    số không bắt buộc

    Dung lượng vùng đệm dùng để nhận dữ liệu. Giá trị mặc định là 4096.

  • tên

    chuỗi không bắt buộc

    Chuỗi do ứng dụng xác định được liên kết với ổ cắm.

  • liên tục

    boolean không bắt buộc

    Cờ cho biết liệu ổ cắm có đang mở khi trang sự kiện của ứng dụng bị huỷ tải hay không (xem phần Quản lý vòng đời ứng dụng). Giá trị mặc định là "false". Khi tải ứng dụng, hệ thống có thể tìm nạp mọi cổng được mở trước đó bằng getSockets.

TLSVersionConstraints

Thuộc tính

  • tối đa

    chuỗi không bắt buộc

  • phút

    chuỗi không bắt buộc

    Phiên bản tối thiểu và tối đa được chấp nhận của TLS. Giá trị được hỗ trợ là tls1.2 hoặc tls1.3.

    Các giá trị tls1tls1.1 không còn được hỗ trợ nữa. Nếu bạn đặt min thành một trong các giá trị này, thì giá trị đó sẽ được tự động gắn với tls1.2. Nếu bạn đặt max thành một trong các giá trị đó hoặc bất kỳ giá trị nào khác không được nhận dạng, thì giá trị đó sẽ tự động bị bỏ qua.

Phương thức

close()

Lời hứa
chrome.sockets.tcp.close(
  socketId: number,
  callback?: function,
)

Đóng ổ cắm và giải phóng địa chỉ/cổng mà ổ cắm đang liên kết. Bạn phải đóng mỗi ổ cắm đã tạo sau khi sử dụng. Mã ổ cắm không còn hợp lệ ngay khi hàm được gọi. Tuy nhiên, socket được đảm bảo chỉ đóng khi lệnh gọi lại được thực hiện.

Tham số

  • socketId

    số

    Mã nhận dạng ổ cắm.

  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 121 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

connect()

chrome.sockets.tcp.connect(
  socketId: number,
  peerAddress: string,
  peerPort: number,
  dnsQueryType?: DnsQueryType,
  callback: function,
)

Kết nối ổ cắm với một máy từ xa. Khi thao tác connect hoàn tất thành công, các sự kiện onReceive sẽ được tạo ra khi nhận được dữ liệu từ ứng dụng ngang hàng. Nếu xảy ra lỗi mạng trong khi thời gian chạy đang nhận gói, sự kiện onReceiveError sẽ được kích hoạt. Tại thời điểm đó, sự kiện onReceive sẽ không được kích hoạt cho ổ cắm này cho đến khi phương thức resume được gọi.

Tham số

  • socketId

    số

    Mã nhận dạng ổ cắm.

  • peerAddress

    string

    Địa chỉ của máy từ xa. Hỗ trợ tên DNS, định dạng IPv4 và IPv6.

  • peerPort

    số

    Cổng của máy từ xa.

  • dnsQueryType

    DnsQueryType không bắt buộc

    Chrome 103 trở lên

    Phương thức phân giải địa chỉ.

  • số gọi lại

    hàm

    Tham số callback sẽ có dạng như sau:

    (result: number) => void

    • kết quả

      số

      Mã kết quả được trả về từ lệnh gọi mạng cơ bản. Giá trị âm cho biết có lỗi.

create()

Lời hứa
chrome.sockets.tcp.create(
  properties?: SocketProperties,
  callback?: function,
)

Tạo cổng TCP.

Tham số

  • các tài sản

    SocketProperties không bắt buộc

    Thuộc tính ổ cắm (không bắt buộc).

  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    (createInfo: CreateInfo) => void

    • createInfo

      Kết quả của việc tạo ổ cắm.

Giá trị trả về

  • Promise&lt;CreateInfo&gt;

    Chrome 121 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

disconnect()

Lời hứa
chrome.sockets.tcp.disconnect(
  socketId: number,
  callback?: function,
)

Ngắt kết nối ổ cắm.

Tham số

  • socketId

    số

    Mã nhận dạng ổ cắm.

  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 121 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

getInfo()

Lời hứa
chrome.sockets.tcp.getInfo(
  socketId: number,
  callback?: function,
)

Truy xuất trạng thái của ổ cắm đã cho.

Tham số

  • socketId

    số

    Mã nhận dạng ổ cắm.

  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Đối tượng chứa thông tin về ổ cắm.

Giá trị trả về

  • Promise&lt;SocketInfo&gt;

    Chrome 121 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

getSockets()

Lời hứa
chrome.sockets.tcp.getSockets(
  callback?: function,
)

Truy xuất danh sách các ổ cắm hiện đang mở mà ứng dụng sở hữu.

Tham số

  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    (socketInfos: SocketInfo[]) => void

    • socketInfos

      Mảng đối tượng chứa thông tin về ổ cắm.

Giá trị trả về

  • Promise&lt;SocketInfo[]&gt;

    Chrome 121 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

secure()

chrome.sockets.tcp.secure(
  socketId: number,
  options?: SecureOptions,
  callback: function,
)

Bắt đầu kết nối ứng dụng TLS qua cổng ứng dụng TCP đã kết nối.

Tham số

  • socketId

    số

    Ổ cắm hiện có đã kết nối để sử dụng.

  • tùy chọn

    SecureOptions không bắt buộc

    Các quy tắc ràng buộc và tham số cho kết nối TLS.

  • số gọi lại

    hàm

    Tham số callback sẽ có dạng như sau:

    (result: number) => void

    • kết quả

      số

send()

chrome.sockets.tcp.send(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)

Gửi dữ liệu trên cổng TCP đã cho.

Tham số

  • socketId

    số

    Mã nhận dạng ổ cắm.

  • dữ liệu

    ArrayBuffer

    Dữ liệu cần gửi.

  • số gọi lại

    hàm

    Tham số callback sẽ có dạng như sau:

    (sendInfo: SendInfo) => void

    • sendInfo

      Kết quả của phương thức send.

setKeepAlive()

chrome.sockets.tcp.setKeepAlive(
  socketId: number,
  enable: boolean,
  delay?: number,
  callback: function,
)

Bật hoặc tắt chức năng duy trì hoạt động cho kết nối TCP.

Tham số

  • socketId

    số

    Mã nhận dạng ổ cắm.

  • bật

    boolean

    Nếu đúng, hãy bật chức năng duy trì hoạt động.

  • trì hoãn

    số không bắt buộc

    Đặt thời gian trễ (tính bằng giây) giữa gói dữ liệu nhận được sau cùng và đầu dò giữ kết nối đầu tiên. Giá trị mặc định là 0.

  • số gọi lại

    hàm

    Tham số callback sẽ có dạng như sau:

    (result: number) => void

    • kết quả

      số

      Mã kết quả được trả về từ lệnh gọi mạng cơ bản. Giá trị âm cho biết có lỗi.

setNoDelay()

chrome.sockets.tcp.setNoDelay(
  socketId: number,
  noDelay: boolean,
  callback: function,
)

Thiết lập hoặc xoá TCP_NODELAY cho một kết nối TCP. Thuật toán của Nagle sẽ bị tắt khi bạn đặt TCP_NODELAY.

Tham số

  • socketId

    số

    Mã nhận dạng ổ cắm.

  • noDelay

    boolean

    Nếu true, tắt thuật toán của Nagle.

  • số gọi lại

    hàm

    Tham số callback sẽ có dạng như sau:

    (result: number) => void

    • kết quả

      số

      Mã kết quả được trả về từ lệnh gọi mạng cơ bản. Giá trị âm cho biết có lỗi.

setPaused()

Lời hứa
chrome.sockets.tcp.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

Bật hoặc tắt ứng dụng nhận thông báo từ ứng dụng ngang hàng. Giá trị mặc định là "false". Việc tạm dừng cổng thường được một ứng dụng sử dụng để điều tiết dữ liệu được gửi từ ứng dụng ngang hàng. Khi một ổ cắm bị tạm dừng, không có sự kiện onReceive nào được kích hoạt. Khi một ổ cắm được kết nối và được huỷ tạm dừng, các sự kiện onReceive sẽ được thực hiện lại khi nhận được thông báo.

Tham số

  • socketId

    số

  • tạm dừng

    boolean

  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 121 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

update()

Lời hứa
chrome.sockets.tcp.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

Cập nhật các thuộc tính của ổ cắm.

Tham số

  • socketId

    số

    Mã nhận dạng ổ cắm.

  • các tài sản

    Các thuộc tính cần cập nhật.

  • số gọi lại

    hàm không bắt buộc

    Tham số callback sẽ có dạng như sau:

    () => void

Giá trị trả về

  • Lời hứa<vô hiệu>

    Chrome 121 trở lên

    Lời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.

Sự kiện

onReceive

chrome.sockets.tcp.onReceive.addListener(
  callback: function,
)

Sự kiện được đưa ra khi nhận được dữ liệu cho một ổ cắm cụ thể.

Tham số

  • số gọi lại

    hàm

    Tham số callback sẽ có dạng như sau:

    (info: ReceiveInfo) => void

onReceiveError

chrome.sockets.tcp.onReceiveError.addListener(
  callback: function,
)

Sự kiện đã xảy ra khi xảy ra lỗi mạng trong khi thời gian chạy đang chờ dữ liệu trên địa chỉ ổ cắm và cổng. Sau khi sự kiện này được tạo ra, ổ cắm sẽ được đặt thành paused và không có sự kiện onReceive nào khác được tạo cho ổ cắm này.

Tham số