Deskripsi
Gunakan chrome.sockets.udp API untuk mengirim dan menerima data melalui jaringan menggunakan koneksi UDP. API ini menggantikan fungsi UDP yang sebelumnya ditemukan di API "socket".
Manifes
Jenis
CreateInfo
Properti
-
socketId
angka
ID soket yang baru dibuat. Perhatikan bahwa ID soket yang dibuat dari API ini tidak kompatibel dengan ID soket yang dibuat dari API lain, seperti API
[socket](../socket/)yang tidak digunakan lagi.
DnsQueryType
Preferensi resolusi DNS. Defaultnya adalah any dan menggunakan konfigurasi OS saat ini yang dapat menampilkan IPv4 atau IPv6. ipv4 memaksa IPv4, dan ipv6 memaksa IPv6.
Enum
"any"
"ipv4"
"ipv6"
ReceiveErrorInfo
Properti
-
resultCode
angka
Kode hasil yang ditampilkan dari panggilan recvfrom() yang mendasarinya.
-
socketId
angka
ID soket.
ReceiveInfo
Properti
-
data
ArrayBuffer
Konten paket UDP (dipotong sesuai ukuran buffer saat ini).
-
remoteAddress
string
Alamat host asal paket.
-
remotePort
angka
Port host asal paket.
-
socketId
angka
ID soket.
SendInfo
Properti
-
bytesSent
number opsional
Jumlah byte yang dikirim (jika result == 0)
-
resultCode
angka
Kode hasil yang ditampilkan dari panggilan jaringan yang mendasarinya. Nilai negatif menunjukkan error.
SocketInfo
Properti
-
bufferSize
number opsional
Ukuran buffer yang digunakan untuk menerima data. Jika tidak ada ukuran buffer yang ditentukan secara eksplisit, nilai tidak akan diberikan.
-
localAddress
string opsional
Jika soket yang mendasarinya terikat, berisi alamat IPv4/6 lokalnya.
-
localPort
number opsional
Jika soket yang mendasarinya terikat, berisi port lokalnya.
-
nama
string opsional
String yang ditentukan aplikasi yang terkait dengan soket.
-
dijeda
boolean
Tanda yang menunjukkan apakah soket diblokir agar tidak mengaktifkan peristiwa onReceive.
-
persistent
boolean
Tanda yang menunjukkan apakah soket dibiarkan terbuka saat aplikasi ditangguhkan (lihat
SocketProperties.persistent). -
socketId
angka
ID soket.
SocketProperties
Properti
-
bufferSize
number opsional
Ukuran buffer yang digunakan untuk menerima data. Jika buffer terlalu kecil untuk menerima paket UDP, data akan hilang. Nilai defaultnya adalah 4096.
-
nama
string opsional
String yang ditentukan aplikasi yang terkait dengan soket.
-
persistent
boolean opsional
Flag yang menunjukkan apakah soket dibiarkan terbuka saat halaman peristiwa aplikasi dibongkar (lihat Mengelola Siklus Proses Aplikasi). Nilai defaultnya adalah "false". Saat aplikasi dimuat, setiap soket yang sebelumnya dibuka dengan persistent=true dapat diambil dengan
getSockets.
Metode
bind()
chrome.sockets.udp.bind(
socketId: number,
address: string,
port: number,
callback: function,
): void
Mengikat alamat dan port lokal untuk soket. Untuk soket klien, sebaiknya gunakan port 0 agar platform dapat memilih port yang tersedia.
Setelah operasi bind berhasil diselesaikan, peristiwa onReceive akan dimunculkan saat paket UDP tiba di alamat/port yang ditentukan -- kecuali jika soket dijeda.
Parameter
-
socketId
angka
ID soket.
-
alamat
string
Alamat komputer lokal. Format nama DNS, IPv4, dan IPv6 didukung. Gunakan "0.0.0.0" untuk menerima paket dari semua antarmuka jaringan lokal yang tersedia.
-
port
angka
Port komputer lokal. Gunakan "0" untuk mengikat ke port gratis.
-
callback
fungsi
Parameter
callbackterlihat seperti:(result: number) => void
-
hasil
angka
Kode hasil yang ditampilkan dari panggilan jaringan yang mendasarinya. Nilai negatif menunjukkan error.
-
close()
chrome.sockets.udp.close(
socketId: number,
callback?: function,
): Promise<void>
Menutup soket dan merilis alamat/port yang terikat ke soket. Setiap soket yang dibuat harus ditutup setelah digunakan. ID soket tidak lagi valid segera setelah fungsi dipanggil. Namun, soket dijamin akan ditutup hanya saat callback dipanggil.
Parameter
-
socketId
angka
ID soket.
-
callback
fungsi opsional
Parameter
callbackterlihat seperti:() => void
Hasil
-
Promise<void>
Chrome 121+Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain harus menggunakan callback.
create()
chrome.sockets.udp.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
Membuat soket UDP dengan properti yang diberikan.
Parameter
-
properti
SocketProperties opsional
Properti soket (opsional).
-
callback
fungsi opsional
Parameter
callbackterlihat seperti:(createInfo: CreateInfo) => void
-
createInfo
Hasil pembuatan soket.
-
Hasil
-
Promise<CreateInfo>
Chrome 121+Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain harus menggunakan callback.
getInfo()
chrome.sockets.udp.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Mengambil status soket yang diberikan.
Parameter
-
socketId
angka
ID soket.
-
callback
fungsi opsional
Parameter
callbackterlihat seperti:(socketInfo: SocketInfo) => void
-
socketInfo
Objek yang berisi informasi soket.
-
Hasil
-
Promise<SocketInfo>
Chrome 121+Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain harus menggunakan callback.
getJoinedGroups()
chrome.sockets.udp.getJoinedGroups(
socketId: number,
callback?: function,
): Promise<string[]>
Mendapatkan alamat grup multicast yang saat ini diikuti oleh soket.
Parameter
-
socketId
angka
ID soket.
-
callback
fungsi opsional
Parameter
callbackterlihat seperti:(groups: string[]) => void
-
yang dilacak
string[]
Array grup yang diikuti soket.
-
Hasil
-
Promise<string[]>
Chrome 121+Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain harus menggunakan callback.
getSockets()
chrome.sockets.udp.getSockets(
callback?: function,
): Promise<SocketInfo[]>
Mengambil daftar soket yang saat ini dibuka dan dimiliki oleh aplikasi.
Parameter
-
callback
fungsi opsional
Parameter
callbackterlihat seperti:(socketInfos: SocketInfo[]) => void
-
socketInfos
Array objek yang berisi informasi soket.
-
Hasil
-
Promise<SocketInfo[]>
Chrome 121+Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain harus menggunakan callback.
joinGroup()
chrome.sockets.udp.joinGroup(
socketId: number,
address: string,
callback: function,
): void
Bergabung ke grup multicast dan mulai menerima paket dari grup tersebut. Soket harus terikat ke port lokal sebelum memanggil metode ini.
Parameter
-
socketId
angka
ID soket.
-
alamat
string
Alamat grup yang akan diikuti. Nama domain tidak didukung.
-
callback
fungsi
Parameter
callbackterlihat seperti:(result: number) => void
-
hasil
angka
Kode hasil yang ditampilkan dari panggilan jaringan yang mendasarinya. Nilai negatif menunjukkan error.
-
leaveGroup()
chrome.sockets.udp.leaveGroup(
socketId: number,
address: string,
callback: function,
): void
Keluar dari grup multicast yang sebelumnya diikuti menggunakan joinGroup. Hal ini hanya perlu dipanggil jika Anda berencana untuk terus menggunakan soket setelahnya, karena akan dilakukan secara otomatis oleh OS saat soket ditutup.
Keluar dari grup akan mencegah router mengirim datagram multicast ke host lokal, dengan asumsi tidak ada proses lain di host yang masih bergabung ke grup.
Parameter
-
socketId
angka
ID soket.
-
alamat
string
Alamat grup yang akan ditinggalkan. Nama domain tidak didukung.
-
callback
fungsi
Parameter
callbackterlihat seperti:(result: number) => void
-
hasil
angka
Kode hasil yang ditampilkan dari panggilan jaringan yang mendasarinya. Nilai negatif menunjukkan error.
-
send()
chrome.sockets.udp.send(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
dnsQueryType?: DnsQueryType,
callback: function,
): void
Mengirim data di soket yang diberikan ke alamat dan port yang diberikan. Soket harus terikat ke port lokal sebelum memanggil metode ini.
Parameter
-
socketId
angka
ID soket.
-
data
ArrayBuffer
Data yang akan dikirim.
-
alamat
string
Alamat komputer jarak jauh.
-
port
angka
Port komputer jarak jauh.
-
dnsQueryType
DnsQueryType opsional
Chrome 103+Preferensi resolusi alamat.
-
callback
fungsi
Parameter
callbackterlihat seperti:(sendInfo: SendInfo) => void
-
sendInfo
Hasil metode
send.
-
setBroadcast()
chrome.sockets.udp.setBroadcast(
socketId: number,
enabled: boolean,
callback: function,
): void
Mengaktifkan atau menonaktifkan paket siaran di soket ini.
Parameter
-
socketId
angka
ID soket.
-
aktif
boolean
trueuntuk mengaktifkan paket siaran,falseuntuk menonaktifkannya. -
callback
fungsi
Parameter
callbackterlihat seperti:(result: number) => void
-
hasil
angka
Kode hasil yang ditampilkan dari panggilan jaringan yang mendasarinya.
-
setMulticastLoopbackMode()
chrome.sockets.udp.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
): void
Menetapkan apakah paket multicast yang dikirim dari host ke grup multicast akan di-loopback ke host.
Catatan: perilaku setMulticastLoopbackMode sedikit berbeda antara sistem Windows dan sistem mirip Unix. Inkonsistensi hanya terjadi jika ada lebih dari satu aplikasi di host yang sama yang bergabung ke grup multicast yang sama, tetapi memiliki setelan yang berbeda pada mode loopback multicast. Di Windows, aplikasi dengan loopback nonaktif tidak akan MENERIMA paket loopback; sedangkan di sistem mirip Unix, aplikasi dengan loopback nonaktif tidak akan MENGIRIM paket loopback ke aplikasi lain di host yang sama. Lihat MSDN: https://learn.microsoft.com/en-us/windows/win32/winsock/ip-multicast-2
Memanggil metode ini tidak memerlukan izin multicast.
Parameter
-
socketId
angka
ID soket.
-
aktif
boolean
Menunjukkan apakah akan mengaktifkan mode loopback.
-
callback
fungsi
Parameter
callbackterlihat seperti:(result: number) => void
-
hasil
angka
Kode hasil yang ditampilkan dari panggilan jaringan yang mendasarinya. Nilai negatif menunjukkan error.
-
setMulticastTimeToLive()
chrome.sockets.udp.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
): void
Menetapkan time-to-live paket multicast yang dikirim ke grup multicast.
Memanggil metode ini tidak memerlukan izin multicast.
Parameter
-
socketId
angka
ID soket.
-
ttl
angka
Nilai time to live (TTL).
-
callback
fungsi
Parameter
callbackterlihat seperti:(result: number) => void
-
hasil
angka
Kode hasil yang ditampilkan dari panggilan jaringan yang mendasarinya. Nilai negatif menunjukkan error.
-
setPaused()
chrome.sockets.udp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
Menjeda atau melanjutkan soket. Soket yang dijeda diblokir agar tidak memicu peristiwa onReceive.
Parameter
-
socketId
angka
ID soket.
-
dijeda
boolean
Tanda untuk menunjukkan apakah akan menjeda atau melanjutkan.
-
callback
fungsi opsional
Parameter
callbackterlihat seperti:() => void
Hasil
-
Promise<void>
Chrome 121+Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain harus menggunakan callback.
update()
chrome.sockets.udp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
Memperbarui properti soket.
Parameter
-
socketId
angka
ID soket.
-
properti
Properti yang akan diperbarui.
-
callback
fungsi opsional
Parameter
callbackterlihat seperti:() => void
Hasil
-
Promise<void>
Chrome 121+Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain harus menggunakan callback.
Acara
onReceive
chrome.sockets.udp.onReceive.addListener(
callback: function,
)
Peristiwa yang dimunculkan saat paket UDP telah diterima untuk soket tertentu.
Parameter
-
callback
fungsi
Parameter
callbackterlihat seperti:(info: ReceiveInfo) => void
-
info
-
onReceiveError
chrome.sockets.udp.onReceiveError.addListener(
callback: function,
)
Peristiwa yang muncul saat terjadi error jaringan saat runtime menunggu data di alamat dan port soket. Setelah peristiwa ini dimunculkan, soket akan dijeda dan tidak ada lagi peristiwa onReceive yang akan dimunculkan untuk soket ini hingga soket dilanjutkan.
Parameter
-
callback
fungsi
Parameter
callbackterlihat seperti:(info: ReceiveErrorInfo) => void
-
info
-