Mô tả
Sử 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 sẽ không được dùng nữa và thay vào đó là 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 được chấp nhận.
CreateInfo
Thuộc tính
-
socketId
số
Mã của ổ cắm 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
số
Độ dài tiền tố
ReadInfo
Thuộc tính
-
dữ liệu
ArrayBuffer
-
resultCode
số
Kết quả đượ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.
-
dữ liệu
ArrayBuffer
-
cổng
số
-
resultCode
số
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ắm cơ bản đã được kết nối hay chưa.
Đối với cổng
tcp
, thông báo 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, gợi ý rằng bạn nên ngắt kết nối ổ cắm này quadisconnect()
.Đối với ổ cắm
udp
, tham số này chỉ thể hiện việc một địa chỉ từ xa mặc định đã được chỉ định để đọc và ghi các gói hay chưa. -
localAddress
chuỗi không bắt buộc
Nếu ổ cắm cơ bản bị ràng buộc hoặc được kết nối, ổ cắm nà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 ràng buộc hoặc kết nối, ổ cắm này có chứa cổng cục bộ.
-
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 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, thì có chứa cổng của cổng kết nối ngang hàng được kết nối.
-
socketType
Loại ổ cắm đã truyền. Mục 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 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, thì giá trị đó sẽ được tự động gắn vớitls1.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 được nhận dạng, thì giá trị đó sẽ tự động 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ổng TCP. Đăng ký một hàm callback sẽ được gọi khi kết nối được chấp nhận trên ổ cắm máy chủ theo dõi này. Phải gọi lượt nghe trước. Nếu đã có 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 thông báo lỗi là resultsCode.
Tham số
-
socketId
số
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 ổ cắm. Hiện tại, cổng này không hỗ trợ cổng TCP.
Tham số
-
socketId
số
socketId.
-
xử lý
string
Địa chỉ của máy cục bộ.
-
cổng
số
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ả
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ổng udp
, thuộc tính này sẽ thiết lập địa chỉ mặc định mà gói được gửi đến và đọc từ đó cho các lệnh gọi read()
và write()
.
Tham số
-
socketId
số
socketId.
-
hostname
string
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.
-
số gọi lại
hàm
Tham số
callback
sẽ 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 được 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
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 đã 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ổng UDP, disconnect
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.
-
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,
)
Lấy địa chỉ nhóm truyền đa hướng mà ổ cắm hiện đang kết nối.
Tham số
-
socketId
số
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ộ điều hợp 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 phát đa hướng và bắt đầu nhận các gói từ nhóm đó. Cổng vào 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ý
string
Địa chỉ 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ả
số
-
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
)
Rời khỏi nhóm phát đa hướng đã tham gia trước đó bằng joinGroup
. Không cần phải rời khỏi nhóm truyền đa hướng trước khi huỷ bỏ ổ cắm hoặc thoát. Hệ điều hành sẽ tự động gọi lệnh này.
Rời khỏi nhóm này sẽ ngăn bộ định tuyến gửi các gói dữ liệu đa hướng tới máy chủ cục bộ, giả sử không có quy 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
số
socketId.
-
xử lý
string
Địa chỉ của nhóm mà bạn muốn rời đ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ả
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ổng TCP. Nghe các kết nối trên cổng và địa chỉ được chỉ định. Điều này sẽ khiến ổ cắm máy chủ trở thành ổ cắm máy chủ một cách hiệu quả và bạn không thể dùng các hàm của ổ cắm ứng dụng khách (kết nối, đọc, ghi) trên ổ cắm này nữa.
Tham số
-
socketId
số
socketId.
-
xử lý
string
Địa chỉ của máy cục bộ.
-
cổng
số
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ắm.
-
số gọi lại
hàm
Tham số
callback
sẽ 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 cụ thể đã kết nối.
Tham số
-
socketId
số
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
số
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 ứng dụng TLS qua một cổng ứng dụng TCP đã kết nối.
Tham 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.
-
số gọi lại
hàm
Tham số
callback
sẽ 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ổng 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ý
string
Địa chỉ của máy từ xa.
-
cổng
số
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
số
socketId.
-
bật
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 thời gian trễ (tính bằng giây) giữa gói dữ liệu nhận được sau cùng và đầu dò giữ kết nối đầ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 phát đa hướng được gửi từ máy chủ đến nhóm phát đa hướng có được lặp lại vào máy chủ hay không.
Lưu ý: hành vi của setMulticastLoopbackMode
hơi khác giữa các hệ thống giống 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ữ được liên kết với cùng một nhóm phát đa hướng trong khi có các chế độ cài đặt khác nhau trong chế độ lặp lại luồng phát (multicast). Trên Windows, các ứng dụng bị tắt vòng lặp sẽ không NHẬN các gói vòng lặp; còn trên các hệ thống giống Unix, ứng dụng bị tắt 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 phát đa hướng.
Tham số
-
socketId
số
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ả
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 đa hướng được gửi tới nhóm truyền đ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
số
socketId.
-
ttl
số
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ả
số
-
setNoDelay()
chrome.socket.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
)
Thiết lập 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
.
Tham số
-
socketId
số
socketId.
-
noDelay
boolean
Nếu true, 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 một ổ cắm đã kết nối.