chrome.socket

Nội dung mô tả

Dùng API chrome.socket để gửi và nhận dữ liệu qua mạng bằng kết nối TCP và UDP. Lưu ý: Kể từ Chrome 33, API này không còn được dùng nữa, và thay vào đó là các API sockets.udp, sockets.tcpsockets.tcpServer.

Quyền

socket

Loại

AcceptInfo

Thuộc tính

  • resultCode

    number

  • socketId

    số không bắt buộc

    Mã của ổ cắm được chấp nhận.

CreateInfo

Thuộc tính

  • socketId

    number

    Mã của cổng mới được tạo.

CreateOptions

NetworkInterface

Thuộc tính

  • xử lý

    string

    Địa chỉ IPv4/6 hiện có.

  • tên

    string

    Tên cơ bản của bộ chuyển đổi. Trên *nix, giá trị này thường là "eth0", "lo", v.v.

  • prefixLength

    number

    Độ dài tiền tố

ReadInfo

Thuộc tính

  • data

    ArrayBuffer

  • resultCode

    number

    ResultCode được trả về từ lệnh gọi read() cơ bản.

RecvFromInfo

Thuộc tính

  • xử lý

    string

    Địa chỉ của máy từ xa.

  • data

    ArrayBuffer

  • cổng

    number

  • resultCode

    number

    ResultCode được trả về từ lệnh gọi recvfrom() cơ bản.

SecureOptions

Thuộc tính

SocketInfo

Thuộc tính

  • đã kết nối

    boolean

    Ổ cắm cơ bản đã được kết nối hay chưa.

    Đối với ổ cắm tcp, giá trị này sẽ vẫn đúng ngay cả khi ứng dụng ngang hàng từ xa đã ngắt kết nối. Việc đọc hoặc ghi vào ổ cắm có thể dẫn đến lỗi, cho biết rằng bạn nên ngắt kết nối ổ cắm này qua disconnect().

    Đối với ổ cắm udp, thuộc tính này chỉ thể hiện liệu một địa chỉ từ xa mặc định đã được chỉ định để đọc và ghi gói hay chưa.

  • localAddress

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

    Nếu ổ cắm cơ bản được liên kết hoặc kết nối, 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 liên kết hoặc kết nối, thì ổ cắm này chứa cổng cục bộ của nó.

  • peerAddress

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

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

  • peerPort

    số không bắt buộc

    Nếu ổ cắm cơ bản đã được kết nối, hãy chứa cổng của ứng dụng ngang hàng đã kết nối.

  • socketType

    Loại cổng được truyền. Đó sẽ là tcp hoặc udp.

SocketType

Liệt kê

"tcp"

"udp"

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

    Cá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, giá trị này sẽ được tự động gắn vào 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 nhận dạng được, thì giá trị này sẽ tự động bị bỏ qua.

WriteInfo

Thuộc tính

  • bytesWritten

    number

    Số byte đã gửi hoặc mã lỗi âm.

Phương thức

accept()

chrome.socket.accept(
  socketId: number,
  callback: function,
)

Phương thức này chỉ áp dụng cho các cổng TCP. Đăng ký một hàm callback được gọi khi kết nối được chấp nhận trên cổng máy chủ nghe này. Phải gọi lượt nghe trước. Nếu đã có một lệnh gọi lại chấp nhận đang hoạt động, lệnh gọi lại này sẽ được gọi ngay lập tức kèm theo một lỗi kết quả.

Tham số

  • socketId

    number

    Mã socketId.

  • số gọi lại

    hàm

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

    (acceptInfo: AcceptInfo)=>void

bind()

chrome.socket.bind(
  socketId: number,
  address: string,
  port: number,
  callback: function,
)

Liên kết địa chỉ cục bộ cho socket. Hiện tại, giao thức này không hỗ trợ cổng TCP.

Tham số

  • socketId

    number

    Mã socketId.

  • xử lý

    string

    Địa chỉ của máy cục bộ.

  • cổng

    number

    Cổng của máy cục bộ.

  • số gọi lại

    hàm

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

    (result: number)=>void

    • kết quả

      number

connect()

chrome.socket.connect(
  socketId: number,
  hostname: string,
  port: number,
  callback: function,
)

Kết nối ổ cắm với máy từ xa (cho ổ cắm tcp). Đối với ổ cắm udp, tuỳ chọn này thiết lập địa chỉ mặc định nhận và đọc gói tin cho các lệnh gọi read()write().

Tham số

  • socketId

    number

    Mã socketId.

  • hostname

    string

    Tên máy chủ hoặc địa chỉ IP của máy từ xa.

  • cổng

    number

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

  • số gọi lại

    hàm

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

    (result: number)=>void

    • kết quả

      number

create()

Cam kết
chrome.socket.create(
  type: SocketType,
  options?: CreateOptions,
  callback?: function,
)

Tạo ổ cắm thuộc loại đã chỉ định để kết nối với máy từ xa đã chỉ định.

Tham số

  • loại

    Loại cổng cần tạo. Phải là tcp hoặc udp.

  • tùy chọn

    CreateOptions không bắt buộc

    Tuỳ chọn ổ cắm.

  • 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

Giá trị trả về

  • Promise<CreateInfo>

    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.

destroy()

chrome.socket.destroy(
  socketId: number,
)

Huỷ bỏ ổ cắm. Mỗi ổ cắm được tạo phải bị huỷ sau khi sử dụng.

Tham số

  • socketId

    number

    Mã socketId.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)

Ngắt kết nối ổ cắm. Đối với cổng UDP, disconnect không hoạt động nhưng an toàn khi gọi.

Tham số

  • socketId

    number

    Mã socketId.

getInfo()

Cam kết
chrome.socket.getInfo(
  socketId: number,
  callback?: function,
)

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

Tham số

  • socketId

    number

    Mã socketId.

  • số gọi lại

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

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

    (result: SocketInfo)=>void

Giá trị trả về

  • Promise<SocketInfo>

    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.

getJoinedGroups()

chrome.socket.getJoinedGroups(
  socketId: number,
  callback: function,
)

Nhận địa chỉ nhóm phát đa hướng mà ổ cắm hiện đang tham gia.

Tham số

  • socketId

    number

    Mã socketId.

  • số gọi lại

    hàm

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

    (groups: string[])=>void

    • nhóm

      chuỗi[]

getNetworkList()

Cam kết
chrome.socket.getNetworkList(
  callback?: function,
)

Truy xuất thông tin về bộ chuyển đổi cục bộ trên hệ thống này.

Tham số

Giá trị trả về

  • Promise<NetworkInterface[]>

    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.

joinGroup()

chrome.socket.joinGroup(
  socketId: number,
  address: string,
  callback: function,
)

Tham gia nhóm truyền đa hướng và bắt đầu nhận các gói từ nhóm đó. Đầu cắm phải thuộc loại UDP và phải được liên kết với một cổng cục bộ trước khi gọi phương thức này.

Tham số

  • socketId

    number

    Mã socketId.

  • xử lý

    string

    Địa chỉ của nhóm để tham gia. Tên miền không được hỗ trợ.

  • số gọi lại

    hàm

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

    (result: number)=>void

    • kết quả

      number

leaveGroup()

chrome.socket.leaveGroup(
  socketId: number,
  address: string,
  callback: function,
)

Rời khỏi nhóm truyền đa hướng đã tham gia trước đó bằng joinGroup. Bạn không cần phải rời khỏi nhóm phát đa hướng trước khi huỷ ổ cắm hoặc thoát. Hệ điều hành sẽ tự động gọi lệnh này.

Khi rời khỏi nhóm này, bộ định tuyến sẽ không thể gửi các gói dữ liệu đa hướng đến máy chủ cục bộ, với giả định không có quá trình nào khác trên máy chủ lưu trữ vẫn tham gia vào nhóm.

Tham số

  • socketId

    number

    Mã socketId.

  • xử lý

    string

    Địa chỉ của nhóm mà bạn muốn rời khỏi. Tên miền không được hỗ trợ.

  • số gọi lại

    hàm

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

    (result: number)=>void

    • kết quả

      number

listen()

chrome.socket.listen(
  socketId: number,
  address: string,
  port: number,
  backlog?: number,
  callback: function,
)

Phương thức này chỉ áp dụng cho các cổng TCP. Theo dõi các kết nối trên cổng và địa chỉ đã chỉ định. Điều này hiệu quả khiến đây là một ổ cắm máy chủ và các chức năng của cổng máy khách (kết nối, đọc, ghi) không còn dùng được trên cổng này nữa.

Tham số

  • socketId

    number

    Mã socketId.

  • xử lý

    string

    Địa chỉ của máy cục bộ.

  • cổng

    number

    Cổng của máy cục bộ.

  • tồn đọng

    số không bắt buộc

    Độ dài của hàng đợi nghe của cổng.

  • số gọi lại

    hàm

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

    (result: number)=>void

    • kết quả

      number

read()

chrome.socket.read(
  socketId: number,
  bufferSize?: number,
  callback: function,
)

Đọc dữ liệu từ ổ cắm đã kết nối đã cho.

Tham số

  • socketId

    number

    Mã socketId.

  • bufferSize

    số không bắt buộc

    Dung lượng bộ nhớ đệm đọc.

  • số gọi lại

    hàm

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

    (readInfo: ReadInfo)=>void

recvFrom()

chrome.socket.recvFrom(
  socketId: number,
  bufferSize?: number,
  callback: function,
)

Nhận dữ liệu từ cổng UDP đã cho.

Tham số

  • socketId

    number

    Mã socketId.

  • bufferSize

    số không bắt buộc

    Dung lượng bộ nhớ đệm nhận.

  • số gọi lại

    hàm

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

    (recvFromInfo: RecvFromInfo)=>void

secure()

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

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

Tham số

  • socketId

    number

    Ổ cắm đã 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ả

      number

sendTo()

chrome.socket.sendTo(
  socketId: number,
  data: ArrayBuffer,
  address: string,
  port: number,
  callback: function,
)

Gửi dữ liệu trên cổng UDP đã cho tới địa chỉ và cổng đã cho.

Tham số

  • socketId

    number

    Mã socketId.

  • data

    ArrayBuffer

    Dữ liệu cần ghi.

  • xử lý

    string

    Địa chỉ của máy từ xa.

  • cổng

    number

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

  • số gọi lại

    hàm

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

    (writeInfo: WriteInfo)=>void

setKeepAlive()

chrome.socket.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

    number

    Mã socketId.

  • enable

    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 độ trễ tính bằng giây giữa gói dữ liệu cuối cùng nhận được và đầu dò duy trì hoạt động đầ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: boolean)=>void

    • kết quả

      boolean

setMulticastLoopbackMode()

chrome.socket.setMulticastLoopbackMode(
  socketId: number,
  enabled: boolean,
  callback: function,
)

Thiết lập xem các gói đa hướng được gửi từ máy chủ đến nhóm phát đa hướng có được lặp lại tới máy chủ hay không.

Lưu ý: hành vi của setMulticastLoopbackMode hơi khác nhau giữa các hệ thống tương tự Windows và Unix. Sự không nhất quán chỉ xảy ra khi có nhiều ứng dụng trên cùng một máy chủ lưu trữ tham gia vào cùng một nhóm phát đa hướng trong khi có các chế độ cài đặt khác nhau ở chế độ lặp lại phát đa hướng. Trên Windows, ứng dụng tắt vòng lặp sẽ không NHẬN được các gói loopback Xem MSDN: http://goo.gl/6vqbj

Việc gọi phương thức này không yêu cầu quyền phát đa hướng.

Tham số

  • socketId

    number

    Mã socketId.

  • đang bật

    boolean

    Cho biết có bật chế độ lặp lại hay không.

  • số gọi lại

    hàm

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

    (result: number)=>void

    • kết quả

      number

setMulticastTimeToLive()

chrome.socket.setMulticastTimeToLive(
  socketId: number,
  ttl: number,
  callback: function,
)

Đặt thời gian tồn tại của các gói đa hướng được gửi đến nhóm phát đa hướng.

Việc gọi phương thức này không yêu cầu quyền phát đa hướng.

Tham số

  • socketId

    number

    Mã socketId.

  • ttl

    number

    Giá trị thời gian tồn tại.

  • số gọi lại

    hàm

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

    (result: number)=>void

    • kết quả

      number

setNoDelay()

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

Đặt hoặc xoá TCP_NODELAY cho 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

    number

    Mã socketId.

  • noDelay

    boolean

    Nếu đúng, hãy 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: boolean)=>void

    • kết quả

      boolean

write()

chrome.socket.write(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)

Ghi dữ liệu trên ổ cắm đã kết nối đã cho.

Tham số

  • socketId

    number

    Mã socketId.

  • data

    ArrayBuffer

    Dữ liệu cần ghi.

  • số gọi lại

    hàm

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

    (writeInfo: WriteInfo)=>void