chrome.socket

Mô tả

Sử 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 sẽ không được dùng nữa và thay vào đó là 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 được chấp nhận.

CreateInfo

Thuộc tính

  • socketId

    số

    Mã của ổ cắm 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

    số

    Độ dài tiền tố

ReadInfo

Thuộc tính

  • dữ liệu

    ArrayBuffer

  • resultCode

    số

    Kết quả đượ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.

  • dữ liệu

    ArrayBuffer

  • cổng

    số

  • resultCode

    số

    Kết quả đượ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ơ bản đã được kết nối hay chưa.

    Đối với cổng tcp, thông báo 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, gợi ý rằng bạn nên ngắt kết nối ổ cắm này qua disconnect().

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

  • localAddress

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

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

  • 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 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, thì có chứa cổng của cổng kết nối ngang hàng được kết nối.

  • socketType

    Loại ổ cắm đã truyền. Mục 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 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.

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ổng TCP. Đăng ký một hàm callback sẽ được gọi khi kết nối được chấp nhận trên ổ cắm máy chủ theo dõi này. Phải gọi lượt nghe trước. Nếu đã có lệnh gọi lại chấp nhận đang hoạt động, thì lệnh gọi lại này sẽ được gọi ngay lập tức kèm theo thông báo lỗi là resultsCode.

Tham số

  • socketId

    số

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

Tham số

  • socketId

    số

    socketId.

  • xử lý

    string

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

  • cổng

    số

    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ả

      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ổng udp, thuộc tính này sẽ thiết lập địa chỉ mặc định mà gói được gửi đến và đọc từ đó cho các lệnh gọi read()write().

Tham số

  • socketId

    số

    socketId.

  • hostname

    string

    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.

  • số gọi lại

    hàm

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

    (result: number) => void

    • kết quả

      số

create()

Lời hứa
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 được 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

    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 đã 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ổng UDP, disconnect không hoạt động nhưng an toàn khi gọi.

Tham số

  • socketId

    số

    socketId.

getInfo()

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

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

Tham số

  • socketId

    số

    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,
)

Lấy địa chỉ nhóm truyền đa hướng mà ổ cắm hiện đang kết nối.

Tham số

  • socketId

    số

    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()

Lời hứa
chrome.socket.getNetworkList(
  callback?: function,
)

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

Tham số

  • số gọi lại

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

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

    (result: NetworkInterface[]) => void

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 phát đa hướng và bắt đầu nhận các gói từ nhóm đó. Cổng vào 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ý

    string

    Địa chỉ 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ả

      số

leaveGroup()

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

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

Rời khỏi nhóm này sẽ ngăn bộ định tuyến gửi các gói dữ liệu đa hướng tới máy chủ cục bộ, giả sử không có quy 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

    số

    socketId.

  • xử lý

    string

    Địa chỉ của nhóm mà bạn muốn rời đ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ả

      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ổng TCP. Nghe các kết nối trên cổng và địa chỉ được chỉ định. Điều này sẽ khiến ổ cắm máy chủ trở thành ổ cắm máy chủ một cách hiệu quả và bạn không thể dùng các hàm của ổ cắm ứng dụng khách (kết nối, đọc, ghi) trên ổ cắm này nữa.

Tham số

  • socketId

    số

    socketId.

  • xử lý

    string

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

  • cổng

    số

    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ắm.

  • số gọi lại

    hàm

    Tham số callback sẽ 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 cụ thể đã kết nối.

Tham số

  • socketId

    số

    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

    số

    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 ứng dụng TLS qua một cổng ứng dụng TCP đã kết nối.

Tham số

  • socketId

    số

    Ổ cắm đượ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ố

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 đến địa chỉ và cổng đã cho.

Tham số

  • socketId

    số

    socketId.

  • dữ liệu

    ArrayBuffer

    Dữ liệu cần ghi.

  • xử lý

    string

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

  • cổng

    số

    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

    số

    socketId.

  • 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: 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 phát đa hướng được gửi từ máy chủ đến nhóm phát đa hướng có được lặp lại vào máy chủ hay không.

Lưu ý: hành vi của setMulticastLoopbackMode hơi khác giữa các hệ thống giống 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ữ được liên kết với cùng một nhóm phát đa hướng trong khi có các chế độ cài đặt khác nhau trong chế độ lặp lại luồng phát (multicast). Trên Windows, các ứng dụng bị tắt vòng lặp sẽ không NHẬN các gói vòng lặp; còn trên các hệ thống giống Unix, ứng dụng bị tắt 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 phát đa hướng.

Tham số

  • socketId

    số

    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ả

      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 đa hướng được gửi tới nhóm truyền đ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

    số

    socketId.

  • ttl

    số

    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ả

      số

setNoDelay()

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

    socketId.

  • 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: boolean) => void

    • kết quả

      boolean

write()

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

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

Tham số

  • socketId

    số

    socketId.

  • dữ liệu

    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