chrome.socket

Mô tả

Sử dụng API chrome.socket để gửi và nhận dữ liệu qua mạng bằng các 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 mà thay vào đó là các API sockets.udp, sockets.tcpsockets.tcpServer.

Quyền

socket

Loại

AcceptInfo

Thuộc tính

  • resultCode

    số

  • socketId

    số không bắt buộc

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

CreateInfo

Thuộc tính

  • socketId

    số

    Mã của ổ cắm mới tạo.

CreateOptions

NetworkInterface

Thuộc tính

  • xử lý

    chuỗi

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

  • tên

    chuỗi

    Tên cơ bản của bộ chuyển đổi. Trên *nix, thông thường, đây sẽ là "eth0", "lo", v.v.

  • prefixLength

    số

    Độ dài tiền tố

ReadInfo

Thuộc tính

  • dữ liệu

    ArrayBuffer

  • resultCode

    số

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

RecvFromInfo

Thuộc tính

  • xử lý

    chuỗi

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

  • dữ liệu

    ArrayBuffer

  • cổng

    số

  • resultCode

    số

    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

    Liệu ổ cắm cơ sở có được kết nối hay không.

    Đối với ổ cắm tcp, điều này sẽ vẫn đúng ngay cả khi máy tính từ xa đã ngắt kết nối. Sau đó, việc đọc hoặc ghi vào ổ cắm có thể dẫn đến lỗi, cho biết rằng ổ cắm này sẽ bị ngắt kết nối thông qua disconnect().

    Đối với ổ cắm udp, giá trị này chỉ cho biết liệu đị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, 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, hãy chứa cổng cục bộ của ổ cắm đó.

  • 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ỉ IPv4/6 của máy 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 máy ngang hàng đã kết nối.

  • socketType

    Loại ổ cắm đã truyền. Đây sẽ là tcp hoặc udp.

SocketType

Enum

"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

    Phiên bản TLS tối thiểu và tối đa được chấp nhận. 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 cố định thành tls1.2. Nếu max được đặt 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ẽ bị bỏ qua.

WriteInfo

Thuộc tính

  • bytesWritten

    số

    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ắm TCP. Đăng ký một hàm gọi lại để gọi khi một kết nối được chấp nhận trên ổ cắm máy chủ nghe này. Trước tiên, bạn phải gọi Listen. Nếu đã có 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 với lỗi là resultCode.

Tham số

  • socketId

    số

    socketId.

  • lệnh gọi lại

    hàm

    Tham số callback 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 ổ cắm. Hiện tại, API này không hỗ trợ ổ cắm TCP.

Tham số

  • socketId

    số

    socketId.

  • xử lý

    chuỗi

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

  • cổng

    số

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

  • lệnh gọi lại

    hàm

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

    (result: number) => void

    • kết quả

      số

connect()

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

Kết nối ổ cắm với máy từ xa (đối với ổ cắm tcp). Đối với ổ cắm udp, thao tác này sẽ đặt địa chỉ mặc định mà các gói được gửi đến và đọc từ các lệnh gọi read()write().

Tham số

  • socketId

    số

    socketId.

  • hostname

    chuỗi

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

  • cổng

    số

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

  • lệnh gọi lại

    hàm

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

    (result: number) => void

    • kết quả

      số

create()

Promise
chrome.socket.create(
  type: SocketType,
  options?: CreateOptions,
  callback?: function,
)

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

Tham số

  • loại

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

  • tùy chọn

    CreateOptions không bắt buộc

    Các tuỳ chọn ổ cắm.

  • lệnh gọi lại

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

    Tham số callback 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 Tệp kê khai 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

    số

    socketId.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)

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

Tham số

  • socketId

    số

    socketId.

getInfo()

Promise
chrome.socket.getInfo(
  socketId: number,
  callback?: function,
)

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

Tham số

  • socketId

    số

    socketId.

  • lệnh gọi lại

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

    Tham số callback 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 Tệp kê khai 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,
)

Lấy địa chỉ nhóm đa điểm mà ổ cắm hiện đang tham gia.

Tham số

  • socketId

    số

    socketId.

  • lệnh gọi lại

    hàm

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

    (groups: string[]) => void

    • nhóm

      string[]

getNetworkList()

Promise
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 Tệp kê khai 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 multicast và bắt đầu nhận gói từ nhóm đó. Socket 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

    số

    socketId.

  • xử lý

    chuỗi

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

  • lệnh gọi lại

    hàm

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

    (result: number) => void

    • kết quả

      số

leaveGroup()

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

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

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

Tham số

  • socketId

    số

    socketId.

  • xử lý

    chuỗi

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

  • lệnh gọi lại

    hàm

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

    (result: number) => void

    • kết quả

      số

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ắm TCP. Theo dõi các kết nối trên cổng và địa chỉ đã chỉ định. Điều này giúp biến ổ cắm này thành ổ cắm máy chủ và các chức năng ổ cắm máy khách (kết nối, đọc, ghi) không thể sử dụng được trên ổ cắm này nữa.

Tham số

  • socketId

    số

    socketId.

  • xử lý

    chuỗi

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

  • cổng

    số

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

  • danh sách công việc tồn đọng

    số không bắt buộc

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

  • lệnh gọi lại

    hàm

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

    (result: number) => void

    • kết quả

      số

read()

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

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

Tham số

  • socketId

    số

    socketId.

  • bufferSize

    số không bắt buộc

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

  • lệnh gọi lại

    hàm

    Tham số callback 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ắm UDP đã cho.

Tham số

  • socketId

    số

    socketId.

  • bufferSize

    số không bắt buộc

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

  • lệnh gọi lại

    hàm

    Tham số callback 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 máy khách TLS qua ổ cắm máy khách TCP đã kết nối.

Tham số

  • socketId

    số

    Ổ 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à thông số cho kết nối TLS.

  • lệnh gọi lại

    hàm

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

    (result: number) => void

    • kết quả

      số

sendTo()

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

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

Tham số

  • socketId

    số

    socketId.

  • dữ liệu

    ArrayBuffer

    Dữ liệu cần ghi.

  • xử lý

    chuỗi

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

  • cổng

    số

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

  • lệnh gọi lại

    hàm

    Tham số callback 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ì kết nối cho kết nối TCP.

Tham số

  • socketId

    số

    socketId.

  • bật

    boolean

    Nếu đúng, hãy bật chức năng duy trì kết nối.

  • trì hoãn

    số không bắt buộc

    Đặt số giây trễ giữa gói dữ liệu cuối cùng được nhận và lần thăm dò keepalive đầu tiên. Giá trị mặc định là 0.

  • lệnh gọi lại

    hàm

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

    (result: boolean) => void

    • kết quả

      boolean

setMulticastLoopbackMode()

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

Đặt xem các gói truyền đa điểm được gửi từ máy chủ đến nhóm truyền đa điểm có được lặp lại về máy chủ hay không.

Lưu ý: hành vi của setMulticastLoopbackMode có chút khác biệt giữa Windows và các hệ thống giống Unix. Tình trạng 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 cùng một nhóm multicast trong khi có các chế độ cài đặt khác nhau trên chế độ loopback multicast. Trên Windows, các ứng dụng tắt tính năng vòng lặp sẽ không NHẬN được các gói vòng lặp; trong khi trên các hệ thống tương tự Unix, các ứng dụng tắt tính năng vòng lặp sẽ không GỬI các gói vòng lặp đến các ứng dụng khác trên cùng một máy chủ. Xem MSDN: http://goo.gl/6vqbj

Việc gọi phương thức này không yêu cầu quyền truyền đa điểm.

Tham số

  • socketId

    số

    socketId.

  • đang bật

    boolean

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

  • lệnh gọi lại

    hàm

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

    (result: number) => void

    • kết quả

      số

setMulticastTimeToLive()

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

Đặt thời gian tồn tại của các gói truyền tin nhiều điểm đến được gửi đến nhóm truyền tin nhiều điểm đến.

Việc gọi phương thức này không yêu cầu quyền truyền đa điểm.

Tham số

  • socketId

    số

    socketId.

  • ttl

    số

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

  • lệnh gọi lại

    hàm

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

    (result: number) => void

    • kết quả

      số

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 Nagle sẽ bị tắt khi bạn đặt TCP_NODELAY.

Tham số

  • socketId

    số

    socketId.

  • noDelay

    boolean

    Nếu là true, sẽ tắt thuật toán Nagle.

  • lệnh gọi lại

    hàm

    Tham số callback 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 nhất định.

Tham số

  • socketId

    số

    socketId.

  • dữ liệu

    ArrayBuffer

    Dữ liệu cần ghi.

  • lệnh gọi lại

    hàm

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

    (writeInfo: WriteInfo) => void