Mô tả
Sử 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 đây có trong API chrome.socket.
Tệp kê khai
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 điểm cuối máy khách, tức là giá trị nhận dạng điểm cuối 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 điểm cuối máy khách ban đầu 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 điểm cuối máy chủ mới tạo. Xin lưu ý rằng mã nhận dạng cổng kết nối được tạo từ API này không tương thích với mã nhận dạng cổng kết nối đượ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ổng kết nối đang nghe, thì cổng này sẽ chứa địa chỉ IPv4/6 cục bộ.
-
localPort
number không bắt buộc
Nếu cổng đang nghe, thì cổng này 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 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 cổng nghe có được gửi thông qua sự kiện
onAccepthay được đưa vào hàng đợi nghe tồn đọng hay không. Vui lòng xemsetPaused. Giá trị mặc định là "false". -
bền vững
boolean
Cờ cho biết liệu cổng kết nối có tiếp tục 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ố
Giá trị nhận dạng cổng kết nối.
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.
-
bền vững
boolean không bắt buộc
Cờ cho biết liệu cổng kết nối có tiếp tục 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 ứng dụng được tải, mọi cổng kết nối đã mở trước đó bằng persistent=true đều có thể được tìm nạp bằng
getSockets.
Phương thức
close()
chrome.sockets.tcpServer.close(
socketId: number,
callback?: function,
): Promise<void>
Ngắt kết nối và huỷ socket. Mỗi cổng kết nối được tạo phải được đóng 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, ổ 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ổng kết nối.
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 121 trở lênLờ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()
chrome.sockets.tcpServer.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
Tạo một điểm cuối máy chủ TCP.
Thông số
-
tài sản
SocketProperties không bắt buộ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ố
callbackcó dạng như sau:(createInfo: CreateInfo) => void
-
createInfo
Kết quả của việc tạo ổ cắm.
-
Giá trị trả về
-
Promise<CreateInfo>
Chrome 121 trở lênLờ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()
chrome.sockets.tcpServer.disconnect(
socketId: number,
callback?: function,
): Promise<void>
Ngắt kết nối socket đang 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à socket được liên kết. Giá trị nhận dạng cổng kết nối vẫn hợp lệ, ví dụ: có thể dùng với listen để chấp nhận 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ổng kết nối.
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 121 trở lênLờ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()
chrome.sockets.tcpServer.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Truy xuất trạng thái của cổng đã cho.
Thông số
-
socketId
số
Giá trị nhận dạng cổng kết nối.
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:(socketInfo: SocketInfo) => void
-
socketInfo
Đối tượng chứa thông tin về cổng kết nối.
-
Giá trị trả về
-
Promise<SocketInfo>
Chrome 121 trở lênLờ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()
chrome.sockets.tcpServer.getSockets(
callback?: function,
): Promise<SocketInfo[]>
Truy xuất danh sách các cổng kết nối hiện đang mở thuộc sở hữu của ứng dụng.
Thông số
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:(socketInfos: SocketInfo[]) => void
-
socketInfos
Mảng đối tượng chứa thông tin về cổng kết nối.
-
Giá trị trả về
-
Promise<SocketInfo[]>
Chrome 121 trở lênLờ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,
): void
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.
Thông số
-
socketId
số
Giá trị nhận dạng cổng kết nối.
-
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 linh động. Bạn có thể tìm thấy cổng được phân bổ động bằng cách gọigetInfo. -
tồn đọng
number không bắt buộc
Độ dài của hàng đợi nghe của cổng kết nối. 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ố
callbackcó 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()
chrome.sockets.tcpServer.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
Bật hoặc tắt một socket đang nghe để chấp nhận các kết nối mới. Khi bị tạm dừng, một cổng nghe sẽ chấp nhận các kết nối mới cho đến khi tồn đọng (xem hàm listen) đầy, sau đó từ chối các yêu cầu kết nối khác. Sự kiện onAccept chỉ được kích hoạt 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ố
callbackcó dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 121 trở lênLờ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()
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ổng kết nối.
-
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ố
callbackcó dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 121 trở lênLờ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 kích hoạt khi đã kết nối với điểm cuối máy chủ.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(info: AcceptInfo) => void
-
info
-
onAcceptError
chrome.sockets.tcpServer.onAcceptError.addListener(
callback: function,
)
Sự kiện được kích hoạt khi xảy ra lỗi mạng trong khi thời gian chạy đang chờ kết nối mới trên địa chỉ và cổng của cổng kết nối. 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 kích hoạt cho ổ cắm này cho đến khi ổ cắm được tiếp tục.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(info: AcceptErrorInfo) => void
-
info
-