Nội dung mô tả
Dùng API chrome.socket
để 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à thay vào đó là các API sockets.udp
, sockets.tcp
và sockets.tcpServer
.
Quyền
socket
Loại
AcceptInfo
Thuộc tính
-
resultCode
number
-
socketId
số không bắt buộc
Mã của ổ cắm được chấp nhận.
CreateInfo
Thuộc tính
-
socketId
number
Mã của cổng mới được tạo.
CreateOptions
NetworkInterface
Thuộc tính
-
xử lý
string
Địa chỉ IPv4/6 hiện có.
-
tên
string
Tên cơ bản của bộ chuyển đổi. Trên *nix, giá trị này thường là "eth0", "lo", v.v.
-
prefixLength
number
Độ dài tiền tố
ReadInfo
Thuộc tính
-
data
ArrayBuffer
-
resultCode
number
ResultCode được trả về từ lệnh gọi read() cơ bản.
RecvFromInfo
Thuộc tính
-
xử lý
string
Địa chỉ của máy từ xa.
-
data
ArrayBuffer
-
cổng
number
-
resultCode
number
ResultCode đượ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
Ổ cắm cơ bản đã được kết nối hay chưa.
Đối với ổ cắm
tcp
, giá trị này sẽ vẫn đúng ngay cả khi ứng dụng ngang hàng từ xa đã ngắt kết nối. Việc đọc hoặc ghi vào ổ cắm có thể dẫn đến lỗi, cho biết rằng bạn nên ngắt kết nối ổ cắm này quadisconnect()
.Đối với ổ cắm
udp
, thuộc tính này chỉ thể hiện liệu một đị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, sẽ 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 liên kết hoặc kết nối, thì ổ cắm này chứa cổng cục bộ của nó.
-
peerAddress
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ủa kết nối ngang hàng.
-
peerPort
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ủa ứng dụng ngang hàng đã kết nối.
-
socketType
Loại cổng được truyền. Đó sẽ là
tcp
hoặcudp
.
SocketType
Liệt kê
"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
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.
WriteInfo
Thuộc tính
-
bytesWritten
number
Số byte đã gửi hoặc mã lỗi âm.
Phương thức
accept()
chrome.socket.accept(
socketId: number,
callback: function,
)
Phương thức này chỉ áp dụng cho các cổng TCP. Đăng ký một hàm callback được gọi khi kết nối được chấp nhận trên cổng máy chủ nghe này. Phải gọi lượt nghe trước. Nếu đã có một lệnh gọi lại chấp nhận đang hoạt động, lệnh gọi lại này sẽ được gọi ngay lập tức kèm theo một lỗi kết quả.
Tham số
-
socketId
number
Mã socketId.
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(acceptInfo: AcceptInfo) => void
-
acceptInfo
-
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
)
Liên kết địa chỉ cục bộ cho socket. Hiện tại, giao thức này không hỗ trợ cổng TCP.
Tham số
-
socketId
number
Mã socketId.
-
xử lý
string
Địa chỉ của máy cục bộ.
-
cổng
number
Cổng của máy cục bộ.
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(result: number) => void
-
kết quả
number
-
connect()
chrome.socket.connect(
socketId: number,
hostname: string,
port: number,
callback: function,
)
Kết nối ổ cắm với máy từ xa (cho ổ cắm tcp
). Đối với ổ cắm udp
, tuỳ chọn này thiết lập địa chỉ mặc định nhận và đọc gói tin cho các lệnh gọi read()
và write()
.
Tham số
-
socketId
number
Mã socketId.
-
hostname
string
Tên máy chủ hoặc địa chỉ IP của máy từ xa.
-
cổng
number
Cổng của máy từ xa.
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(result: number) => void
-
kết quả
number
-
create()
chrome.socket.create(
type: SocketType,
options?: CreateOptions,
callback?: function,
)
Tạo ổ cắm thuộc loại đã chỉ định để kết nối với máy từ xa đã chỉ định.
Tham số
-
loại
Loại cổng cần tạo. Phải là
tcp
hoặcudp
. -
tùy chọn
CreateOptions không bắt buộc
Tuỳ chọn ổ cắm.
-
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
-
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,
)
Huỷ bỏ ổ cắm. Mỗi ổ cắm được tạo phải bị huỷ sau khi sử dụng.
Tham số
-
socketId
number
Mã socketId.
disconnect()
chrome.socket.disconnect(
socketId: number,
)
Ngắt kết nối ổ cắm. Đối với cổng UDP, disconnect
không hoạt động nhưng an toàn khi gọi.
Tham số
-
socketId
number
Mã socketId.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
)
Truy xuất trạng thái của ổ cắm đã cho.
Tham số
-
socketId
number
Mã socketId.
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có 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,
)
Nhận địa chỉ nhóm phát đa hướng mà ổ cắm hiện đang tham gia.
Tham số
-
socketId
number
Mã socketId.
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(groups: string[]) => void
-
nhóm
chuỗi[]
-
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
)
Truy xuất thông tin về bộ chuyển đổi cục bộ trên hệ thống này.
Tham số
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có 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,
)
Tham gia nhóm truyền đa hướng và bắt đầu nhận các gói từ nhóm đó. Đầu 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.
Tham số
-
socketId
number
Mã socketId.
-
xử lý
string
Địa chỉ của nhóm để tham gia. Tên miền không được hỗ trợ.
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(result: number) => void
-
kết quả
number
-
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
)
Rời khỏi nhóm truyền đa hướng đã tham gia trước đó bằng joinGroup
. Bạn không cần phải rời khỏi nhóm phát đa hướng trước khi huỷ ổ cắm hoặc thoát. Hệ điều hành sẽ tự động gọi lệnh này.
Khi rời khỏi nhóm này, bộ định tuyến sẽ không thể gửi các gói dữ liệu đa hướng đến máy chủ cục bộ, với giả định không có quá trình nào khác trên máy chủ lưu trữ vẫn tham gia vào nhóm.
Tham số
-
socketId
number
Mã socketId.
-
xử lý
string
Địa chỉ của nhóm mà bạn muốn rời khỏi. Tên miền không được hỗ trợ.
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(result: number) => void
-
kết quả
number
-
listen()
chrome.socket.listen(
socketId: number,
address: string,
port: number,
backlog?: number,
callback: function,
)
Phương thức này chỉ áp dụng cho các cổng TCP. Theo dõi các kết nối trên cổng và địa chỉ đã chỉ định. Điều này hiệu quả khiến đây là một ổ cắm máy chủ và các chức năng của cổng máy khách (kết nối, đọc, ghi) không còn dùng được trên cổng này nữa.
Tham số
-
socketId
number
Mã socketId.
-
xử lý
string
Địa chỉ của máy cục bộ.
-
cổng
number
Cổng của máy cục bộ.
-
tồn đọng
số không bắt buộc
Độ dài của hàng đợi nghe của cổng.
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(result: number) => void
-
kết quả
number
-
read()
chrome.socket.read(
socketId: number,
bufferSize?: number,
callback: function,
)
Đọc dữ liệu từ ổ cắm đã kết nối đã cho.
Tham số
-
socketId
number
Mã socketId.
-
bufferSize
số không bắt buộc
Dung lượng bộ nhớ đệm đọc.
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(readInfo: ReadInfo) => void
-
readInfo
-
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
)
Nhận dữ liệu từ cổng UDP đã cho.
Tham số
-
socketId
number
Mã socketId.
-
bufferSize
số không bắt buộc
Dung lượng bộ nhớ đệm nhận.
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(recvFromInfo: RecvFromInfo) => void
-
recvFromInfo
-
secure()
chrome.socket.secure(
socketId: number,
options?: SecureOptions,
callback: function,
)
Bắt đầu kết nối với ứng dụng TLS qua một cổng ứng dụng TCP đã kết nối.
Tham số
-
socketId
number
Ổ cắm đã 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
-
sendTo()
chrome.socket.sendTo(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
callback: function,
)
Gửi dữ liệu trên cổng UDP đã cho tới địa chỉ và cổng đã cho.
Tham số
-
socketId
number
Mã socketId.
-
data
ArrayBuffer
Dữ liệu cần ghi.
-
xử lý
string
Địa chỉ của máy từ xa.
-
cổng
number
Cổng của máy từ xa.
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(writeInfo: WriteInfo) => void
-
writeInfo
-
setKeepAlive()
chrome.socket.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
Mã socketId.
-
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: boolean) => void
-
kết quả
boolean
-
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
Thiết lập xem các gói đa hướng được gửi từ máy chủ đến nhóm phát đa hướng có được lặp lại tới máy chủ hay không.
Lưu ý: hành vi của setMulticastLoopbackMode
hơi khác nhau giữa các hệ thống tương tự Windows và 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ủ lưu trữ tham gia vào cùng một nhóm phát đa hướng trong khi có các chế độ cài đặt khác nhau ở chế độ lặp lại phát đa hướng. Trên Windows, ứng dụng tắt vòng lặp sẽ không NHẬN được các gói loopback Xem MSDN: http://goo.gl/6vqbj
Việc gọi phương thức này không yêu cầu quyền phát đa hướng.
Tham số
-
socketId
number
Mã socketId.
-
đang bật
boolean
Cho biết có bật chế độ lặp lại hay không.
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(result: number) => void
-
kết quả
number
-
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
)
Đặt thời gian tồn tại của các gói đa hướng được gửi đến nhóm phát đa hướng.
Việc gọi phương thức này không yêu cầu quyền phát đa hướng.
Tham số
-
socketId
number
Mã socketId.
-
ttl
number
Giá trị thời gian tồn tại.
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(result: number) => void
-
kết quả
number
-
setNoDelay()
chrome.socket.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
Mã socketId.
-
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: boolean) => void
-
kết quả
boolean
-
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
)
Ghi dữ liệu trên ổ cắm đã kết nối đã cho.