Nội dung mô tả
Dùng API chrome.sockets.tcp
để gửi và nhận dữ liệu qua mạng 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
Loại
CreateInfo
Thuộc tính
-
socketId
number
Mã của cổng mới được tạo. Lưu ý rằng mã cổng được tạo qua API này không tương thích với mã cổng được tạo qua các API khác, chẳng hạn như API
[
socket](../socket/)
không dùng nữa.
DnsQueryType
Lựa chọn ưu tiên về cách phân giải DNS. Giá trị mặc định là any
và sử dụng cấu hình hệ điều hành hiện tại có thể trả về IPv4 hoặc IPv6. ipv4
buộc sử dụng IPv4 và ipv6
buộc sử dụng IPv6.
Liệt kê
"ipv4"
"ipv6"
ReceiveErrorInfo
Thuộc tính
-
resultCode
number
Mã kết quả được trả về từ lệnh gọi mạng cơ bản.
-
socketId
number
Giá trị nhận dạng ổ cắm.
ReceiveInfo
Thuộc tính
-
data
ArrayBuffer
Dữ liệu đã nhận, với kích thước tối đa là
bufferSize
. -
socketId
number
Giá trị nhận dạng ổ cắm.
SecureOptions
Thuộc tính
-
tlsVersion
TLSVersionConstraints không bắt buộc
SendInfo
Thuộc tính
-
bytesSent
số không bắt buộc
Số byte đã gửi (nếu kết quả == 0)
-
resultCode
number
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.
SocketInfo
Thuộc tính
-
bufferSize
số không bắt buộc
Kích thước của vùng đệm dùng để nhận dữ liệu. Nếu không có kích thước vùng đệm nào được chỉ định rõ ràng, thì giá trị sẽ không được cung cấp.
-
đã kết nối
boolean
Cờ cho biết liệu ổ cắm có được kết nối với một kết nối ngang hàng từ xa hay không.
-
localAddress
chuỗi không bắt buộc
Nếu ổ cắm cơ bản được kết nối, hã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 kết nối, hãy chứa cổng cục bộ của ổ cắm đó.
-
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 một ổ cắm đã kết nối có chặn thiết bị ngang hàng gửi thêm dữ liệu hay không (xem
setPaused
). -
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ỉ ngang hàng/ IPv4/6.
-
peerPort
số không bắt buộc
Nếu ổ cắm cơ bản đã được kết nối, thì hãy chứa cổng ngang hàng.
-
cố định
boolean
Cờ cho biết liệu ổ cắm có đang mở khi ứng dụng bị tạm ngưng hay không (xem
SocketProperties.persistent
). -
socketId
number
Giá trị nhận dạng ổ cắm.
SocketProperties
Thuộc tính
-
bufferSize
số không bắt buộc
Kích thước của vùng đệm dùng để nhận dữ liệu. Giá trị mặc định là 4096.
-
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.
-
cố định
boolean không bắt buộc
Cờ cho biết liệu ổ cắm có đang 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, bạn có thể tìm nạp mọi ổ cắm đã mở trước đó bằng sustain=true bằng
getSockets
.
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
Cá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ặctls1.3
.Các giá trị
tls1
vàtls1.1
không còn được hỗ trợ nữa. Nếu bạn đặtmin
thành một trong các giá trị này, giá trị này sẽ được tự động gắn vàotls1.2
. Nếu bạn đặtmax
thành một trong các giá trị đó hoặc bất kỳ giá trị nào khác không nhận dạng được, thì giá trị này sẽ tự động bị bỏ qua.
Phương thức
close()
chrome.sockets.tcp.close(
socketId: number,
callback?: function,
)
Đóng ổ cắm và giải phóng địa chỉ/cổng mà ổ cắm được liên kết. Bạn phải đóng mỗi ổ cắm được tạo sau khi sử dụng. Mã cổng không còn hợp lệ ngay khi hàm được gọi. Tuy nhiên, ổ cắm được đảm bảo chỉ đóng khi lệnh gọi lại được thực hiện.
Tham số
-
socketId
number
Giá trị 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ề
-
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.
connect()
chrome.sockets.tcp.connect(
socketId: number,
peerAddress: string,
peerPort: number,
dnsQueryType?: DnsQueryType,
callback: function,
)
Kết nối ổ cắm với máy từ xa. Khi thao tác connect
hoàn tất thành công, các sự kiện onReceive
sẽ được kích hoạt khi nhận được dữ liệu từ ứng dụng ngang hàng. Nếu xảy ra lỗi mạng trong khi thời gian chạy đang nhận gói, thì sự kiện onReceiveError
sẽ được kích hoạt. Khi đó, sự kiện onReceive
sẽ không còn xuất hiện cho ổ cắm này cho đến khi phương thức resume
được gọi.
Tham số
-
socketId
number
Giá trị nhận dạng ổ cắm.
-
peerAddress
string
Địa chỉ của máy từ xa. Hỗ trợ định dạng tên DNS, IPv4 và IPv6.
-
peerPort
number
Cổng của máy từ xa.
-
dnsQueryType
DnsQueryType không bắt buộc
Chrome 103 trở lênLựa chọn ưu tiên về độ phân giải của địa chỉ.
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(result: number) => void
-
kết quả
number
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.
-
create()
chrome.sockets.tcp.create(
properties?: SocketProperties,
callback?: function,
)
Tạo một cổng 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<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.tcp.disconnect(
socketId: number,
callback?: function,
)
Ngắt kết nối ổ cắm.
Tham số
-
socketId
number
Giá trị 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ề
-
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.tcp.getInfo(
socketId: number,
callback?: function,
)
Truy xuất trạng thái của ổ cắm đã cho.
Tham số
-
socketId
number
Giá trị 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ổng.
-
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.tcp.getSockets(
callback?: function,
)
Truy xuất danh sách ổ cắm hiện đang mở do ứ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ề socket.
-
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.
secure()
chrome.sockets.tcp.secure(
socketId: number,
options?: SecureOptions,
callback: function,
)
Bắt đầu kết nối với ứng dụng TLS qua cổng ứng dụng TCP đã kết nối.
Tham số
-
socketId
number
Ổ cắm hiện 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ả
number
-
send()
chrome.sockets.tcp.send(
socketId: number,
data: ArrayBuffer,
callback: function,
)
Gửi dữ liệu trên một cổng TCP nhất định.
Tham số
-
socketId
number
Giá trị nhận dạng ổ cắm.
-
data
ArrayBuffer
Dữ liệu cần gửi.
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(sendInfo: SendInfo) => void
-
sendInfo
Kết quả của phương thức
send
.
-
setKeepAlive()
chrome.sockets.tcp.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
number
Giá trị nhận dạng ổ cắm.
-
enable
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 độ trễ tính bằng giây giữa gói dữ liệu cuối cùng nhận được và đầu dò duy trì hoạt động đầ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: number) => void
-
kết quả
number
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.
-
setNoDelay()
chrome.sockets.tcp.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
)
Đặt hoặc xoá TCP_NODELAY
cho 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
number
Giá trị nhận dạng ổ cắm.
-
noDelay
boolean
Nếu đúng, hãy 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: number) => void
-
kết quả
number
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()
chrome.sockets.tcp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
)
Bật hoặc tắt ứng dụng nhận thông báo từ ứng dụng ngang hàng. Giá trị mặc định là "false". Ứng dụng thường dùng tính năng tạm dừng socket để điều tiết dữ liệu do ứng dụng ngang hàng gửi. Khi một ổ cắm bị tạm dừng, sự kiện onReceive
sẽ không được kích hoạt. Khi một ổ cắm được kết nối và huỷ tạm dừng, các sự kiện onReceive
sẽ được nâng lên lần nữa khi nhận được tin nhắn.
Tham số
-
socketId
number
-
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ề
-
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.tcp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
)
Cập nhật các thuộc tính socket.
Tham số
-
socketId
number
Giá trị 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ề
-
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
onReceive
chrome.sockets.tcp.onReceive.addListener(
callback: function,
)
Sự kiện được phát sinh khi nhận được dữ liệu cho một cổng nhất định.
Tham số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(info: ReceiveInfo) => void
-
info
-
onReceiveError
chrome.sockets.tcp.onReceiveError.addListener(
callback: function,
)
Sự kiện xảy ra khi xảy ra lỗi mạng trong khi thời gian chạy đang chờ dữ liệu trên địa chỉ cổng 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òn sự kiện onReceive
nào được tăng lên cho ổ cắm này.
Tham số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(info: ReceiveErrorInfo) => void
-
info
-