Mô tả
Sử 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 đó trong "ổ cắm" API.
Tệp kê khai
Loại
CreateInfo
Thuộc tính
-
socketId
số
Mã của ổ cắm mới được tạo. Lưu ý rằng mã ổ cắm được tạo từ API này không tương thích với mã ổ cắm được tạo từ các API khác, chẳng hạn như API
[
ổ cắm](../socket/)
không dùng nữa.
DnsQueryType
Lựa chọn ưu tiên về hoạt động 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 thực thi IPv4, còn ipv6
buộc thực thi IPv6.
Enum
"any"
"ipv4"
"ipv6"
ReceiveErrorInfo
Thuộc tính
-
resultCode
số
Mã kết quả được trả về từ lệnh gọi recvfrom() cơ bản.
-
socketId
số
Mã ổ cắm.
ReceiveInfo
Thuộc tính
-
dữ liệu
ArrayBuffer
Nội dung gói UDP (bị cắt bớt theo kích thước bộ nhớ đệm hiện tại).
-
remoteAddress
string
Địa chỉ của máy chủ lưu trữ chứa gói dữ liệu.
-
remotePort
số
Cổng của máy chủ lưu trữ chứa gói dữ liệu.
-
socketId
số
Mã ổ cắm.
SendInfo
Thuộc tính
-
bytesSent
số không bắt buộc
Số byte đã gửi (nếu kết quả == 0)
-
resultCode
số
Mã kết quả được trả về từ lệnh gọi mạng cơ bản. Giá trị âm cho biết có lỗi.
SocketInfo
Thuộc tính
-
bufferSize
số không bắt buộc
Dung lượng vùng đệm dùng để nhận dữ liệu. Nếu không có dung lượng bộ nhớ đệ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, ổ cắm này 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 bị ràng buộc, ổ cắm này chứa cổng cục bộ.
-
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ổng có bị chặn kích hoạt các sự kiện onReceive hay không.
-
liên tục
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
số
Mã nhận dạng ổ cắm.
SocketProperties
Thuộc tính
-
bufferSize
số không bắt buộc
Dung lượng vùng đệm dùng để nhận dữ liệu. Nếu vùng đệm quá nhỏ để nhận gói UDP, thì dữ liệu sẽ bị mất. Giá trị mặc định là 4096.
-
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.
-
liên tục
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 tải ứng dụng, hệ thống có thể tìm nạp mọi cổng được mở trước đó 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ỉ cục bộ và cổng cho ổ cắm. Đối với ổ cắm ứng dụng khách, bạn nên sử dụng cổng 0 để cho phép nền tảng chọn một 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ẽ được kích hoạt khi gói UDP đến địa chỉ/cổng được chỉ định – trừ khi cổng bị tạm dừng.
Tham số
-
socketId
số
Mã ổ cắm.
-
xử lý
string
Địa chỉ của máy cục bộ. Hỗ trợ tên DNS, định dạng IPv4 và IPv6. Sử dụng "0.0.0.0" để chấp nhận các gói từ mọi giao diện mạng cục bộ có sẵn.
-
cổng
số
Cổng của máy cục bộ. Sử dụng "0" để liên kết với một 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ả
số
Mã kết quả được trả về từ lệnh gọi mạng cơ bản. Giá trị âm cho biết có 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 đang liên kết. Bạn phải đóng mỗi ổ cắm đã tạo sau khi sử dụng. Mã ổ cắm không còn hợp lệ ngay khi hàm được gọi. Tuy nhiên, socket được đảm bảo chỉ đóng khi lệnh gọi lại được thực hiện.
Tham số
-
socketId
số
Mã ổ cắm.
-
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ề
-
Lời hứa<vô hiệu>
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ổng UDP với các thuộc tính đã cho.
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
số
Mã ổ cắm.
-
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ắm.
-
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ỉ nhóm truyền đa hướng mà ổ cắm hiện đang kết nối.
Tham số
-
socketId
số
Mã ổ cắm.
-
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 các nhóm mà ổ cắm đã kết nối.
-
Giá trị trả về
-
Promise<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ác ổ cắm hiện đang mở mà ứ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ề ổ cắm.
-
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
số
Mã ổ cắm.
-
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ố
Mã kết quả được trả về từ lệnh gọi mạng cơ bản. Giá trị âm cho biết có lỗi.
-
leaveGroup()
chrome.sockets.udp.leaveGroup(
socketId: number,
address: string,
callback: function,
)
Rời khỏi nhóm phát đa hướng trước đó đã tham gia bằng joinGroup
. Lệnh gọi này chỉ cần thiết nếu bạn định tiếp tục sử dụng ổ cắm, vì hệ điều hành sẽ tự động thực hiện việc này khi ổ cắm được đóng.
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ố
Mã ổ cắm.
-
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ố
Mã kết quả được trả về từ lệnh gọi mạng cơ bản. Giá trị âm cho biết có 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 cổng đã cho 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
số
Mã ổ cắm.
-
dữ liệu
ArrayBuffer
Dữ liệu cần gửi.
-
xử lý
string
Địa chỉ của máy từ xa.
-
cổng
số
Cổng của máy từ xa.
-
dnsQueryType
DnsQueryType không bắt buộc
Chrome 103 trở lênPhương thức phân giải đị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 gói truyền tin trên cổng này.
Tham số
-
socketId
số
Mã ổ cắm.
-
đang bật
boolean
true
để kích hoạt các gói truyền tin,false
để tắt các gói đó. -
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(result: number) => void
-
kết quả
số
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 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ới 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ữ 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ố
Mã ổ cắm.
-
đ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ố
Mã kết quả được trả về từ lệnh gọi mạng cơ bản. Giá trị âm cho biết có 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 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ố
Mã ổ cắm.
-
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ố
Mã kết quả được trả về từ lệnh gọi mạng cơ bản. Giá trị âm cho biết có lỗi.
-
setPaused()
chrome.sockets.udp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
)
Tạm dừng hoặc huỷ tạm dừng một ổ cắm. Một ổ cắm bị tạm dừng đã bị chặn kích hoạt các sự kiện onReceive
.
Tham số
-
socketId
số
-
tạm dừng
boolean
Gắn cờ để cho biết bạn muố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ề
-
Lời hứa<vô hiệu>
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 của ổ cắm.
Tham số
-
socketId
số
Mã ổ cắm.
-
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ề
-
Lời hứa<vô hiệu>
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 được đưa ra khi nhận được 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ắm và cổng. Sau khi sự kiện này được kích hoạt, socket sẽ tạm dừng và sẽ không có sự kiện onReceive
nào khác được tạo cho socket này cho đến khi socket đượ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
-