Mô tả
Sử dụng chrome.socket API để 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 không còn được dùng nữa và được thay thế bằng các API sockets.udp, sockets.tcp và sockets.tcpServer.
Quyền
socketLoại
AcceptInfo
Thuộc tính
-
resultCode
số
-
socketId
number không bắt buộc
Mã của cổng kết nối được chấp nhận.
CreateInfo
Thuộc tính
-
socketId
số
Mã nhận dạng của ổ cắm mới tạo.
CreateOptions
NetworkInterface
Thuộc tính
-
xử lý
chuỗi
Địa chỉ IPv4/6 hiện có.
-
tên
chuỗi
Tên cơ bản của bộ chuyển đổi. Trên *nix, đây thường là "eth0", "lo", v.v.
-
prefixLength
số
Độ dài tiền tố
ReadInfo
Thuộc tính
-
khác
ArrayBuffer
-
resultCode
số
Mã kết quả được trả về từ lệnh gọi read() cơ bản.
RecvFromInfo
Thuộc tính
-
xử lý
chuỗi
Địa chỉ của máy từ xa.
-
khác
ArrayBuffer
-
cổng
số
-
resultCode
số
Mã kết quả được trả về từ lệnh gọi recvfrom() cơ bản.
SecureOptions
Thuộc tính
-
tlsVersion
TLSVersionConstraints không bắt buộc
SocketInfo
Thuộc tính
-
đã kết nối
boolean
Liệu cổng kết nối cơ sở có được kết nối hay không.
Đối với ổ cắm
tcp, điều này vẫn đúng ngay cả khi ứng dụng ngang hàng từ xa đã ngắt kết nối. Sau đó, việc đọc hoặc ghi vào cổng có thể dẫn đến lỗi, cho thấy rằng cổng này nên được ngắt kết nối thông quadisconnect().Đối với ổ cắm
udp, điều này chỉ thể hiện liệu địa chỉ từ xa mặc định đã được chỉ định để đọc và ghi gói hay chưa. -
localAddress
chuỗi không bắt buộc
Nếu ổ cắm cơ bản được liên kết hoặc kết nối, thì ổ cắm này sẽ chứa địa chỉ IPv4/6 cục bộ.
-
localPort
number không bắt buộc
Nếu cổng cơ bản được liên kết hoặc kết nối, thì cổng này sẽ chứa cổng cục bộ.
-
peerAddress
chuỗi không bắt buộc
Nếu cổng kết nối cơ bản được kết nối, thì cổng này sẽ chứa địa chỉ IPv4/6 của ứng dụng ngang hàng.
-
peerPort
number không bắt buộc
Nếu cổng cơ bản được kết nối, thì sẽ chứa cổng của ứng dụng ngang hàng đã kết nối.
-
socketType
Loại socket được truyền. Đây sẽ là
tcphoặcudp.
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 TLS tối thiểu và tối đa được chấp nhận. Giá trị được hỗ trợ là
tls1.2hoặctls1.3.Các giá trị
tls1vàtls1.1không còn được hỗ trợ nữa. Nếuminđược đặt thành một trong các giá trị này, thì giá trị này sẽ được tự động giới hạn thànhtls1.2. Nếumaxđược đặt 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ẽ bị bỏ qua mà không có thông báo.
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,
): void
Phương thức này chỉ áp dụng cho cổng TCP. Đăng ký một hàm callback để gọi khi một kết nối được chấp nhận trên điểm cuối máy chủ đang nghe này. Bạn phải gọi Listen trước. Nếu đã có một 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 lỗi dưới dạng resultCode.
Thông số
-
socketId
số
socketId.
-
callback
hàm
Tham số
callbackcó dạng như sau:(acceptInfo: AcceptInfo) => void
-
acceptInfo
-
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
): void
Liên kết địa chỉ cục bộ cho cổng kết nối. Hiện tại, tính năng này không hỗ trợ cổng TCP.
Thông số
-
socketId
số
SocketId.
-
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ộ.
-
callback
hàm
Tham số
callbackcó dạng như sau:(result: number) => void
-
kết quả
số
-
connect()
chrome.socket.connect(
socketId: number,
hostname: string,
port: number,
callback: function,
): void
Kết nối cổng với máy từ xa (đối với cổng tcp). Đối với ổ cắm udp, thao tác này sẽ đặt địa chỉ mặc định mà các gói được gửi đến và đọc từ đó cho các lệnh gọi read() và write().
Thông số
-
socketId
số
SocketId.
-
hostname
chuỗi
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.
-
callback
hàm
Tham số
callbackcó dạng như sau:(result: number) => void
-
kết quả
số
-
create()
chrome.socket.create(
type: SocketType,
options?: CreateOptions,
callback?: function,
): Promise<CreateInfo>
Tạo một ổ cắm thuộc loại đã chỉ định để kết nối với máy từ xa đã chỉ định.
Thông số
-
loại
Loại ổ cắm cần tạo. Phải là
tcphoặcudp. -
tùy chọn
CreateOptions không bắt buộc
Các tuỳ chọn ổ cắm.
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:(createInfo: CreateInfo) => void
-
createInfo
-
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.
destroy()
chrome.socket.destroy(
socketId: number,
): void
Huỷ socket. Mỗi cổng kết nối được tạo phải bị huỷ sau khi sử dụng.
Thông số
-
socketId
số
SocketId.
disconnect()
chrome.socket.disconnect(
socketId: number,
): void
Ngắt kết nối ổ cắm. Đối với cổng UDP, disconnect là một thao tác không hoạt động nhưng an toàn để gọi.
Thông số
-
socketId
số
SocketId.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Truy xuất trạng thái của cổng đã cho.
Thông số
-
socketId
số
socketId.
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:(result: SocketInfo) => void
-
kết quả
-
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.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
): void
Lấy địa chỉ nhóm đa truyền mà ổ cắm hiện đang tham gia.
Thông số
-
socketId
số
socketId.
-
callback
hàm
Tham số
callbackcó dạng như sau:(groups: string[]) => void
-
nhóm
string[]
-
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
): Promise<NetworkInterface[]>
Truy xuất thông tin về bộ chuyển đổi cục bộ trên hệ thống này.
Thông số
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:(result: NetworkInterface[]) => void
-
kết quả
-
Giá trị trả về
-
Promise<NetworkInterface[]>
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.
joinGroup()
chrome.socket.joinGroup(
socketId: number,
address: string,
callback: function,
): void
Tham gia nhóm multicast và bắt đầu nhận các gói từ nhóm đó. Ổ cắm 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.
Thông số
-
socketId
số
SocketId.
-
xử lý
chuỗi
Địa chỉ của nhóm cần tham gia. Tên miền không được hỗ trợ.
-
callback
hàm
Tham số
callbackcó dạng như sau:(result: number) => void
-
kết quả
số
-
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
): void
Rời khỏi nhóm đa truyền đã tham gia trước đó bằng joinGroup. Bạn không cần phải rời khỏi nhóm đa truyền trước khi huỷ socket hoặc thoát. Hệ điều hành sẽ tự động gọi phương thức này.
Việc rời khỏi nhóm sẽ ngăn bộ định tuyến gửi gói dữ liệu đa hướng đến máy chủ cục bộ, giả sử không có quy trình nào khác trên máy chủ vẫn tham gia vào nhóm.
Thông số
-
socketId
số
SocketId.
-
xử lý
chuỗi
Địa chỉ của nhóm cần rời khỏi. Tên miền không được hỗ trợ.
-
callback
hàm
Tham số
callbackcó 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,
): void
Phương thức này chỉ áp dụng cho ổ cắm TCP. Nghe các kết nối trên cổng và địa chỉ được chỉ định. Điều này biến socket này thành một socket máy chủ, và các hàm socket máy khách (kết nối, đọc, ghi) không còn dùng được trên socket này nữa.
Thông số
-
socketId
số
SocketId.
-
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ộ.
-
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.
-
callback
hàm
Tham số
callbackcó dạng như sau:(result: number) => void
-
kết quả
số
-
read()
chrome.socket.read(
socketId: number,
bufferSize?: number,
callback: function,
): void
Đọc dữ liệu từ cổng kết nối đã cho.
Thông số
-
socketId
số
SocketId.
-
bufferSize
number không bắt buộc
Kích thước vùng đệm đọc.
-
callback
hàm
Tham số
callbackcó dạng như sau:(readInfo: ReadInfo) => void
-
readInfo
-
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
): void
Nhận dữ liệu từ cổng UDP đã cho.
Thông số
-
socketId
số
SocketId.
-
bufferSize
number không bắt buộc
Dung lượng bộ nhớ đệm nhận.
-
callback
hàm
Tham số
callbackcó dạng như sau:(recvFromInfo: RecvFromInfo) => void
-
recvFromInfo
-
secure()
chrome.socket.secure(
socketId: number,
options?: SecureOptions,
callback: function,
): void
Bắt đầu kết nối máy khách TLS qua một điểm cuối máy khách TCP đã kết nối.
Thông 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.
-
callback
hàm
Tham số
callbackcó 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,
): void
Gửi dữ liệu trên cổng UDP đã cho đến địa chỉ và cổng đã cho.
Thông số
-
socketId
số
SocketId.
-
khác
ArrayBuffer
Dữ liệu cần ghi.
-
xử lý
chuỗi
Địa chỉ của máy từ xa.
-
cổng
số
Cổng của máy từ xa.
-
callback
hàm
Tham số
callbackcó dạng như sau:(writeInfo: WriteInfo) => void
-
writeInfo
-
setKeepAlive()
chrome.socket.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
): void
Bật hoặc tắt chức năng duy trì hoạt động cho kết nối TCP.
Thông 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
number không bắt buộc
Đặt số giây trễ giữa gói dữ liệu cuối cùng nhận được và đầu dò duy trì kết nối đầu tiên. Giá trị mặc định là 0.
-
callback
hàm
Tham số
callbackcó dạng như sau:(result: boolean) => void
-
kết quả
boolean
-
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
): void
Đặt xem các gói đa truyền được gửi từ máy chủ lưu trữ đến nhóm đa truyền có được lặp lại cho máy chủ lưu trữ hay không.
Lưu ý: hành vi của setMulticastLoopbackMode hơi khác nhau giữa Windows và các hệ thống giống 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ủ tham gia vào cùng một nhóm multicast trong khi có các chế độ cài đặt khác nhau về chế độ lặp lại multicast. Trên Windows, các ứng dụng đã tắt tính năng lặp lại sẽ không NHẬN các gói lặp lại; trong khi trên các hệ thống giống Unix, các ứng dụng đã tắt tính năng lặp lại sẽ không GỬI các gói lặp lại đến các ứng dụng khác trên cùng một máy chủ. Xem MSDN: https://learn.microsoft.com/en-us/windows/win32/winsock/ip-multicast-2
Bạn không cần có quyền multicast để gọi phương thức này.
Thông số
-
socketId
số
socketId.
-
đang bật
boolean
Cho biết có bật chế độ lặp lại hay không.
-
callback
hàm
Tham số
callbackcó dạng như sau:(result: number) => void
-
kết quả
số
-
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
): void
Đặt thời gian tồn tại của các gói đa truyền được gửi đến nhóm đa truyền.
Bạn không cần có quyền multicast để gọi phương thức này.
Thông số
-
socketId
số
SocketId.
-
ttl
số
Giá trị thời gian tồn tại.
-
callback
hàm
Tham số
callbackcó dạng như sau:(result: number) => void
-
kết quả
số
-
setNoDelay()
chrome.socket.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
): void
Đặt 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.
Thông số
-
socketId
số
socketId.
-
noDelay
boolean
Nếu đúng, hãy tắt thuật toán của Nagle.
-
callback
hàm
Tham số
callbackcó dạng như sau:(result: boolean) => void
-
kết quả
boolean
-
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
): void
Ghi dữ liệu trên cổng kết nối đã cho.