chrome.sockets.tcpServer

Mô tả

Sử dụng API chrome.sockets.tcpServer để tạo các ứng dụng máy chủ bằng cách sử dụng kết nối TCP. API này thay thế chức năng TCP trước đây 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ố

    Giá trị nhận dạng điểm cuối máy chủ.

AcceptInfo

Thuộc tính

  • clientSocketId

    số

    Giá trị nhận dạng ổ cắm của ứ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. Xin lưu ý rằng ban đầu, ổ cắm máy khách sẽ bị tạm dừng và ứng dụng phải huỷ tạm dừng một cách rõ ràng để bắt đầu nhận dữ liệu.

  • socketId

    số

    Giá trị nhận dạng điểm cuối máy chủ.

CreateInfo

Thuộc tính

  • socketId

    số

    Mã nhận dạng của ổ cắm máy chủ mới tạo. Xin lưu ý rằng mã nhận dạng ổ cắm được tạo từ API này không tương thích với mã nhận dạng ổ cắm được tạo từ các API khác, chẳng hạn như API [socket](../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 ở trạng thái nghe, thì sẽ chứa địa chỉ IPv4/6 cục bộ.

  • localPort

    number không bắt buộc

    Nếu ổ cắm đang ở trạng thái nghe, thì ổ cắm sẽ 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 một socket đang nghe có được gửi qua sự kiện onAccept hay được xếp hàng trong danh sách chờ của hàng đợi nghe. 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 được huỷ tải hay không (xem SocketProperties.persistent). Giá trị mặc định là "false".

  • socketId

    số

    Giá trị nhận dạng ổ cắm.

SocketProperties

Thuộc tính

  • tên

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

    Một 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 được 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 ứng dụng được tải, mọi socket đã mở trước đó bằng persistent=true đều có thể được tìm nạp bằng getSockets.

Phương thức

close()

Promise
chrome.sockets.tcpServer.close(
  socketId: number,
  callback?: function,
)
: Promise<void>

Ngắt kết nối và huỷ ổ cắm. Mỗi ổ cắm được tạo phải được đóng sau khi sử dụng. Mã nhận dạng ổ cắm không còn hợp lệ ngay khi hàm được gọi. Tuy nhiên, ổ cắm chỉ được đảm bảo đóng khi lệnh gọi lại được gọi.

Thông số

  • socketId

    số

    Giá trị nhận dạng ổ cắm.

  • callback

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

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

    () => void

Giá trị trả về

  • Promise<void>

    Chrome 121 trở lên

    Các promise 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()

Promise
chrome.sockets.tcpServer.create(
  properties?: SocketProperties,
  callback?: function,
)
: Promise<CreateInfo>

Tạo một ổ cắm máy chủ TCP.

Thông số

  • tài sản

    SocketProperties không bắt buộc

    Các thuộc tính của ổ cắm (không bắt buộc).

  • callback

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

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

    (createInfo: CreateInfo) => void

    • createInfo

      Kết quả của quá trình tạo ổ cắm.

Giá trị trả về

  • Promise<CreateInfo>

    Chrome 121 trở lên

    Các promise 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()

Promise
chrome.sockets.tcpServer.disconnect(
  socketId: number,
  callback?: function,
)
: Promise<void>

Ngắt kết nối ổ cắm 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 được liên kết. Giá trị nhận dạng ổ cắm vẫn hợp lệ, ví dụ: bạn có thể dùng giá trị nhận dạng này với listen để chấp nhận các kết nối trên một cổng và địa chỉ mới.

Thông số

  • socketId

    số

    Giá trị nhận dạng ổ cắm.

  • callback

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

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

    () => void

Giá trị trả về

  • Promise<void>

    Chrome 121 trở lên

    Các promise 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()

Promise
chrome.sockets.tcpServer.getInfo(
  socketId: number,
  callback?: function,
)
: Promise<SocketInfo>

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

Thông số

  • socketId

    số

    Giá trị nhận dạng ổ cắm.

  • callback

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

    Tham số callback 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<SocketInfo>

    Chrome 121 trở lên

    Các promise 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()

Promise
chrome.sockets.tcpServer.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

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

Thông số

  • callback

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

    Tham số callback 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<SocketInfo[]>

    Chrome 121 trở lên

    Các promise 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,
)
: void

Theo dõi 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.

Thông số

  • socketId

    số

    Giá trị nhận dạng ổ cắm.

  • 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ộ. Khi được đặt thành 0, một cổng miễn phí sẽ được chọn một cách linh hoạt. Bạn có thể tìm thấy cổng được phân bổ động bằng cách gọi getInfo.

  • backlog

    number không bắt buộc

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

  • callback

    hàm

    Tham số callback 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 đã xảy ra lỗi.

setPaused()

Promise
chrome.sockets.tcpServer.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

Cho phép hoặc không cho phép một ổ cắm nghe chấp nhận các kết nối mới. Khi bị tạm dừng, một socket đang nghe sẽ chấp nhận các kết nối mới cho đến khi danh sách chờ của socket đầy (xem hàm listen), sau đó sẽ từ chối các yêu cầu kết nối bổ sung. Sự kiện onAccept chỉ được tạo khi ổ cắm không bị tạm dừng.

Thông số

  • socketId

    số

  • tạm dừng

    boolean

  • callback

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

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

    () => void

Giá trị trả về

  • Promise<void>

    Chrome 121 trở lên

    Các promise 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()

Promise
chrome.sockets.tcpServer.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)
: Promise<void>

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

Thông số

  • socketId

    số

    Giá trị nhận dạng ổ cắm.

  • tài sản

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

  • callback

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

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

    () => void

Giá trị trả về

  • Promise<void>

    Chrome 121 trở lên

    Các promise 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 kích hoạt khi kết nối được thực hiện với ổ cắm máy chủ.

Thông số

  • callback

    hàm

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

    (info: AcceptInfo) => void

onAcceptError

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

Sự kiện được tạo khi xảy ra lỗi mạng trong khi thời gian chạy đang chờ các kết nối mới trên địa chỉ và cổng của ổ cắm. Sau khi sự kiện này được tạo, ổ 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.

Thông số