Nội dung mô tả
Dùng API chrome.sockets.udp
để gửi và nhận dữ liệu qua mạng bằng kết nối UDP. API này thay thế chức năng UDP trước đó có trong API "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 recvfrom() cơ bản.
-
socketId
number
Mã cổng.
ReceiveInfo
Thuộc tính
-
data
ArrayBuffer
Nội dung gói UDP (được cắt bớt theo dung lượng bộ nhớ đệm hiện tại).
-
remoteAddress
string
Địa chỉ của máy chủ lưu trữ gói đó.
-
remotePort
number
Cổng của máy chủ lưu trữ gói dữ liệu.
-
socketId
number
Mã cổng.
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.
-
localAddress
chuỗi không bắt buộc
Nếu ổ cắm cơ bản bị ràng buộc, chứa địa chỉ IPv4/6 cục bộ.
-
localPort
số không bắt buộc
Nếu ổ cắm cơ bản bị liên kết, 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 ổ cắm có bị chặn kích hoạt các sự kiện onReceive hay khô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. Nếu vùng đệm quá nhỏ nên không thể nhận gói UDP, dữ liệu sẽ bị mất. 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
.
Phương thức
bind()
chrome.sockets.udp.bind(
socketId: number,
address: string,
port: number,
callback: function,
)
Liên kết địa chỉ và cổng cục bộ cho ổ cắm. Đối với ổ cắm máy khách, bạn nên sử dụng cổng 0 để cho phép nền tảng chọn cổng miễn phí.
Sau khi thao tác bind
hoàn tất thành công, các sự kiện onReceive
sẽ tăng lên khi các gói UDP đến địa chỉ/cổng đã chỉ định – trừ phi socket bị tạm dừng.
Tham số
-
socketId
number
Mã cổng.
-
xử lý
string
Địa chỉ của máy cục bộ. Hỗ trợ định dạng tên DNS, IPv4 và IPv6. Sử dụng "0.0.0.0" để chấp nhận các gói tin từ tất cả các giao diện mạng cục bộ có sẵn.
-
cổng
number
Cổng của máy cục bộ. Sử dụng "0" để liên kết với cổng miễn phí.
-
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.
-
close()
chrome.sockets.udp.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 kết nối 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
Mã cổng.
-
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.
create()
chrome.sockets.udp.create(
properties?: SocketProperties,
callback?: function,
)
Tạo một ổ cắm UDP với các thuộc tính nhất định.
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.
getInfo()
chrome.sockets.udp.getInfo(
socketId: number,
callback?: function,
)
Truy xuất trạng thái của ổ cắm đã cho.
Tham số
-
socketId
number
Mã cổng.
-
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.
getJoinedGroups()
chrome.sockets.udp.getJoinedGroups(
socketId: number,
callback?: function,
)
Lấy địa chỉ của nhóm phát đa hướng mà ổ cắm hiện đang tham gia.
Tham số
-
socketId
number
Mã cổng.
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có dạng như sau:(groups: string[]) => void
-
nhóm
chuỗi[]
Mảng gồm các nhóm mà cổng đã tham gia.
-
Giá trị trả về
-
Hứa hẹn<string[]>
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.udp.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.
joinGroup()
chrome.sockets.udp.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ắm 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ã cổng.
-
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
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.
-
leaveGroup()
chrome.sockets.udp.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 chỉ cần gọi lệnh này nếu định tiếp tục sử dụng ổ cắm sau đó, vì hệ điều hành sẽ thực hiện tự động ổ cắm khi ổ cắm đóng.
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ã cổng.
-
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
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.
-
send()
chrome.sockets.udp.send(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
dnsQueryType?: DnsQueryType,
callback: function,
)
Gửi dữ liệu trên một cổng nhất định tới địa chỉ và cổng đã cho. Ổ cắm 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ã cổng.
-
data
ArrayBuffer
Dữ liệu cần gửi.
-
xử lý
string
Địa chỉ của máy từ xa.
-
cổng
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:(sendInfo: SendInfo) => void
-
sendInfo
Kết quả của phương thức
send
.
-
setBroadcast()
chrome.sockets.udp.setBroadcast(
socketId: number,
enabled: boolean,
callback: function,
)
Bật hoặc tắt các gói tin truyền phát trên cổng này.
Tham số
-
socketId
number
Mã cổng.
-
đang bật
boolean
true
để bật các gói tin truyền phát,false
để tắt các gói này. -
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.
-
setMulticastLoopbackMode()
chrome.sockets.udp.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ã cổng.
-
đ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
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.
-
setMulticastTimeToLive()
chrome.sockets.udp.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
)
Thiết lập 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ã cổng.
-
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
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.udp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
)
Tạm dừng hoặc tiếp tục ổ cắm. Một ổ cắm đã tạm dừng bị chặn kích hoạt các sự kiện onReceive
.
Tham số
-
socketId
number
-
tạm dừng
boolean
Gắn cờ để cho biết nên tạm dừng hay huỷ tạm dừng.
-
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.udp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
)
Cập nhật các thuộc tính socket.
Tham số
-
socketId
number
Mã cổng.
-
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.udp.onReceive.addListener(
callback: function,
)
Sự kiện xảy ra khi nhận được một gói UDP cho ổ cắm đã cho.
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.udp.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ẽ tạm dừng và sẽ không có sự kiện onReceive
nào được tạo ra cho ổ cắm này cho đến khi ổ cắm được tiếp tục.
Tham số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(info: ReceiveErrorInfo) => void
-
info
-