chrome.sockets.tcpServer

Mô tả

Dùng API chrome.sockets.tcpServer để tạo ứng dụng máy chủ 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

AcceptErrorInfo

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 máy chủ.

AcceptInfo

Thuộc tính

  • clientSocketId

    số

    Giá trị nhận dạng ổ cắm ứng dụng, tức là giá trị nhận dạng ổ cắm của kết nối mới được thiết lập. Bạn chỉ nên sử dụng giá trị nhận dạng ổ cắm này với các hàm trong không gian tên chrome.sockets.tcp. Lưu ý rằng ban đầu, cổng máy khách sẽ bị tạm dừng và phải được ứng dụng huỷ tạm dừng một cách rõ ràng để bắt đầu nhận dữ liệu.

  • socketId

    số

    Mã nhận dạng ổ cắm máy chủ.

CreateInfo

Thuộc tính

  • socketId

    số

    Mã của ổ cắm máy chủ mới 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.

SocketInfo

Thuộc tính

  • localAddress

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

    Nếu ổ cắm đang theo dõi, hãy chứa địa chỉ IPv4/6 cục bộ.

  • localPort

    số không bắt buộc

    Nếu ổ cắm đang nghe, thì 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ác yêu cầu kết nối trên cổng nghe có được gửi thông qua sự kiện onAccept hay được đưa vào hàng đợi trong danh sách chờ xử lý của hàng đợi nghe hay không. Vui lòng xem setPaused. Giá trị mặc định là "false".

  • liên tục

    boolean

    Cờ cho biết liệu ổ cắm có vẫn mở khi trang sự kiện của ứng dụng bị huỷ tải hay không (xem SocketProperties.persistent). Giá trị mặc định là "false".

  • socketId

    số

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

SocketProperties

Thuộc tính

  • 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ó vẫn 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.

Phương thức

close()

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

Ngắt kết nối và phá huỷ ổ cắm. 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.

create()

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

Tạo cổng máy chủ 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.tcpServer.disconnect(
  socketId: number,
  callback?: function,
)

Ngắt kết nối ổ cắm lắng nghe, tức là ngừng chấp nhận các kết nối mới và giải phóng địa chỉ/cổng mà ổ cắm đang liên kết. Mã nhận dạng ổ cắm vẫn hợp lệ, ví dụ: bạn có thể sử dụng nó với listen để chấp nhận các kết nối trên một cổng và địa chỉ mới.

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.tcpServer.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.tcpServer.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.

listen()

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

Nghe các kết nối trên cổng và địa chỉ được chỉ định. Nếu cổng/địa chỉ đang được sử dụng, lệnh gọi lại sẽ cho biết lỗi.

Tham số

  • socketId

    số

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

  • xử lý

    string

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

  • cổng

    số

    Cổng của máy cục bộ. Khi bạn đặt thành 0, một cổng miễn phí sẽ được chọn linh động. Bạn có thể tìm thấy cổng được phân bổ động bằng cách gọi getInfo.

  • tồn đọng

    số không bắt buộc

    Độ dài của hàng đợi nghe của ổ cắm. Giá trị mặc định tuỳ thuộc vào Hệ điều hành (SOMAXCONN). Hệ điều hành này đảm bảo độ dài hàng đợi hợp lý cho hầu hết các ứng dụng.

  • 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.tcpServer.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

Bật hoặc tắt một cổng nghe không chấp nhận các kết nối mới. Khi bị tạm dừng, một cổng lắng nghe sẽ chấp nhận các kết nối mới cho đến khi dữ liệu tồn đọng (xem hàm listen) của nó đầy rồi từ chối yêu cầu kết nối bổ sung. Các sự kiện onAccept chỉ được tạo ra khi ổ cắm được huỷ tạm dừng.

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.tcpServer.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

onAccept

chrome.sockets.tcpServer.onAccept.addListener(
  callback: function,
)

Sự kiện được đưa ra khi kết nối được thực hiện tới cổng máy chủ.

Tham số

  • số gọi lại

    hàm

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

    (info: AcceptInfo) => void

onAcceptError

chrome.sockets.tcpServer.onAcceptError.addListener(
  callback: function,
)

Sự kiện đã xảy ra khi xảy ra lỗi mạng trong thời gian chạy đang chờ kết nối mới trên địa chỉ ổ cắm và cổng. Sau khi sự kiện này được kích hoạt, ổ cắm sẽ được đặt thành paused và không có sự kiện onAccept nào khác được tạo cho ổ cắm này cho đến khi ổ cắm được tiếp tục.

Tham số