Mô tả
Sử dụng API chrome.socket
để gửi và nhận dữ liệu qua mạng bằng các 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 mà 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
số
-
socketId
số không bắt buộc
Mã của ổ cắm đã chấp nhận.
CreateInfo
Thuộc tính
-
socketId
số
Mã 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, thông thường, đây sẽ là "eth0", "lo", v.v.
-
prefixLength
số
Độ dài tiền tố
ReadInfo
Thuộc tính
-
dữ liệu
ArrayBuffer
-
resultCode
số
resultCode đượ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.
-
dữ liệu
ArrayBuffer
-
cổng
số
-
resultCode
số
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
Liệu ổ cắm cơ sở có được kết nối hay không.
Đối với ổ cắm
tcp
, điều này sẽ vẫn đúng ngay cả khi máy tính từ xa đã ngắt kết nối. Sau đó, việc đọc hoặc ghi vào ổ cắm có thể dẫn đến lỗi, cho biết rằng ổ cắm này sẽ bị ngắt kết nối thông quadisconnect()
.Đối với ổ cắm
udp
, giá trị này chỉ cho biết 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, 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, hãy chứa cổng cục bộ của ổ cắm đó.
-
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ỉ IPv4/6 của máy 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 máy ngang hàng đã kết nối.
-
socketType
Loại ổ cắm đã truyền. Đây sẽ là
tcp
hoặ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.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, thì giá trị đó sẽ được tự động cố định 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.
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,
)
Phương thức này chỉ áp dụng cho các ổ cắm TCP. Đăng ký một hàm gọi lại để gọi khi một kết nối được chấp nhận trên ổ cắm máy chủ nghe này. Trước tiên, bạn phải gọi Listen. Nếu đã có 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 với lỗi là resultCode.
Tham số
-
socketId
số
socketId.
-
lệnh gọi lại
hàm
Tham số
callback
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 ổ cắm. Hiện tại, API này không hỗ trợ ổ cắm TCP.
Tham 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ộ.
-
lệnh gọi lại
hàm
Tham số
callback
có dạng như sau:(result: number) => void
-
kết quả
số
-
connect()
chrome.socket.connect(
socketId: number,
hostname: string,
port: number,
callback: function,
)
Kết nối ổ cắm với máy từ xa (đối với ổ cắm 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ừ các lệnh gọi read()
và write()
.
Tham 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.
-
lệnh gọi lại
hàm
Tham số
callback
có dạng như sau:(result: number) => void
-
kết quả
số
-
create()
chrome.socket.create(
type: SocketType,
options?: CreateOptions,
callback?: function,
)
Tạo một ổ cắm thuộc loại đã chỉ định sẽ kết nối với máy từ xa đã chỉ định.
Tham số
-
loại
Loại ổ cắm cần tạo. Phải là
tcp
hoặcudp
. -
tùy chọn
CreateOptions không bắt buộc
Các tuỳ chọn ổ cắm.
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
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 Tệp kê khai 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
số
socketId.
disconnect()
chrome.socket.disconnect(
socketId: number,
)
Ngắt kết nối ổ cắm. Đối với ổ cắm UDP, disconnect
là một thao tác không hoạt động nhưng an toàn khi gọi.
Tham số
-
socketId
số
socketId.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
)
Truy xuất trạng thái của ổ cắm đã cho.
Tham số
-
socketId
số
socketId.
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
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 Tệp kê khai 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,
)
Lấy địa chỉ nhóm đa điểm mà ổ cắm hiện đang tham gia.
Tham số
-
socketId
số
socketId.
-
lệnh gọi lại
hàm
Tham số
callback
có dạng như sau:(groups: string[]) => void
-
nhóm
string[]
-
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ố
-
lệnh gọi lại
hàm không bắt buộc
Tham số
callback
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 Tệp kê khai 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 multicast và bắt đầu nhận gói từ nhóm đó. Socket 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
số
socketId.
-
xử lý
chuỗi
Địa chỉ nhóm để tham gia. Tên miền không được hỗ trợ.
-
lệnh gọi lại
hàm
Tham số
callback
có dạng như sau:(result: number) => void
-
kết quả
số
-
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
)
Rời khỏi nhóm multicast đã tham gia trước đó bằng joinGroup
. Bạn không cần phải rời khỏi nhóm multicast trước khi huỷ bỏ ổ cắm 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 các gói dữ liệu đa điểm đế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 còn tham gia nhóm.
Tham số
-
socketId
số
socketId.
-
xử lý
chuỗi
Địa chỉ của nhóm mà bạn muốn rời khỏi. Tên miền không được hỗ trợ.
-
lệnh gọi lại
hàm
Tham số
callback
có 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,
)
Phương thức này chỉ áp dụng cho các ổ cắm TCP. Theo dõi các kết nối trên cổng và địa chỉ đã chỉ định. Điều này giúp biến ổ cắm này thành ổ cắm máy chủ và các chức năng ổ cắm máy khách (kết nối, đọc, ghi) không thể sử dụng được trên ổ cắm này nữa.
Tham 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ộ.
-
danh sách công việc tồn đọng
số không bắt buộc
Độ dài của hàng đợi nghe của ổ cắm.
-
lệnh gọi lại
hàm
Tham số
callback
có dạng như sau:(result: number) => void
-
kết quả
số
-
read()
chrome.socket.read(
socketId: number,
bufferSize?: number,
callback: function,
)
Đọc dữ liệu từ ổ cắm đã kết nối nhất định.
Tham số
-
socketId
số
socketId.
-
bufferSize
số không bắt buộc
Dung lượng bộ nhớ đệm đọc.
-
lệnh gọi lại
hàm
Tham số
callback
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ắm UDP đã cho.
Tham số
-
socketId
số
socketId.
-
bufferSize
số không bắt buộc
Dung lượng bộ nhớ đệm nhận.
-
lệnh gọi lại
hàm
Tham số
callback
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 máy khách TLS qua ổ cắm máy khách TCP đã kết nối.
Tham số
-
socketId
số
Ổ 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à thông số cho kết nối TLS.
-
lệnh gọi lại
hàm
Tham số
callback
có 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,
)
Gửi dữ liệu trên ổ cắm UDP đã cho đến địa chỉ và cổng đã cho.
Tham số
-
socketId
số
socketId.
-
dữ liệu
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.
-
lệnh gọi lại
hàm
Tham số
callback
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ì kết nối cho kết nối TCP.
Tham số
-
socketId
số
socketId.
-
bật
boolean
Nếu đúng, hãy bật chức năng duy trì kết nối.
-
trì hoãn
số không bắt buộc
Đặt số giây trễ giữa gói dữ liệu cuối cùng được nhận và lần thăm dò keepalive đầu tiên. Giá trị mặc định là 0.
-
lệnh gọi lại
hàm
Tham số
callback
có dạng như sau:(result: boolean) => void
-
kết quả
boolean
-
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
Đặt xem các gói truyền đa điểm được gửi từ máy chủ đến nhóm truyền đa điểm có được lặp lại về máy chủ hay không.
Lưu ý: hành vi của setMulticastLoopbackMode
có chút khác biệt giữa Windows và các hệ thống giống Unix. Tình trạng 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 cùng một nhóm multicast trong khi có các chế độ cài đặt khác nhau trên chế độ loopback multicast. Trên Windows, các ứng dụng tắt tính năng vòng lặp sẽ không NHẬN được các gói vòng lặp; trong khi trên các hệ thống tương tự Unix, các ứng dụng tắt tính năng vòng lặp sẽ không GỬI các gói vòng lặp đến các ứng dụng khác trên cùng một máy chủ. Xem MSDN: http://goo.gl/6vqbj
Việc gọi phương thức này không yêu cầu quyền truyền đa điểm.
Tham số
-
socketId
số
socketId.
-
đang bật
boolean
Cho biết có bật chế độ vòng lặp hay không.
-
lệnh gọi lại
hàm
Tham số
callback
có dạng như sau:(result: number) => void
-
kết quả
số
-
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
)
Đặt thời gian tồn tại của các gói truyền tin nhiều điểm đến được gửi đến nhóm truyền tin nhiều điểm đến.
Việc gọi phương thức này không yêu cầu quyền truyền đa điểm.
Tham số
-
socketId
số
socketId.
-
ttl
số
Giá trị thời gian tồn tại.
-
lệnh gọi lại
hàm
Tham số
callback
có dạng như sau:(result: number) => void
-
kết quả
số
-
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 Nagle sẽ bị tắt khi bạn đặt TCP_NODELAY
.
Tham số
-
socketId
số
socketId.
-
noDelay
boolean
Nếu là true, sẽ tắt thuật toán Nagle.
-
lệnh gọi lại
hàm
Tham số
callback
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 nhất định.