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 "soket" Compute Engine API.
Manifes
Jenis
CreateInfo
Properti
-
socketId
angka
ID soket yang baru dibuat. Perlu diperhatikan bahwa ID soket yang dibuat dari API ini tidak kompatibel dengan ID soket yang dibuat dari API lain, seperti API
[
socket](../socket/)
yang sudah tidak digunakan lagi.
DnsQueryType
Preferensi resolusi DNS. Defaultnya adalah any
dan menggunakan konfigurasi OS saat ini yang mungkin menampilkan IPv4 atau IPv6. ipv4
memaksa IPv4, dan ipv6
memaksa IPv6.
Enum
"apa saja"
"ipv4"
"ipv6"
ReceiveErrorInfo
Properti
-
resultCode
angka
Kode hasil yang ditampilkan dari panggilan recvfrom() yang mendasarinya.
-
socketId
angka
ID soket.
ReceiveInfo
Properti
-
data
ArrayBuffer
Isi paket UDP (dipotong ke ukuran buffer saat ini).
-
remoteAddress
string
Alamat {i>host<i} asal paket.
-
remotePort
angka
Porta {i>host<i} asal paket.
-
socketId
angka
ID soket.
SendInfo
Properti
-
bytesSent
angka opsional
Jumlah byte yang dikirim (jika hasilnya == 0)
-
resultCode
angka
Kode hasil yang ditampilkan dari panggilan jaringan yang mendasarinya. Nilai negatif menunjukkan error.
SocketInfo
Properti
-
bufferSize
angka opsional
Ukuran buffer yang digunakan untuk menerima data. Jika tidak ada ukuran buffer yang ditentukan secara eksplisit, nilainya tidak diberikan.
-
localAddress
string opsional
Jika soket yang mendasari terikat, berisi alamat IPv4/6 lokalnya.
-
localPort
angka opsional
Jika soket yang mendasari 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.
-
persisten
boolean
Tanda yang menunjukkan apakah soket dibiarkan terbuka atau tidak saat aplikasi ditangguhkan (lihat
SocketProperties.persistent
). -
socketId
angka
ID soket.
SocketProperties
Properti
-
bufferSize
angka 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.
-
persisten
boolean opsional
Tanda yang menunjukkan apakah soket dibiarkan terbuka saat halaman peristiwa aplikasi dihapus muatannya (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,
)
Mengikat alamat lokal dan porta untuk soket. Untuk soket klien, sebaiknya gunakan port 0 agar platform dapat memilih port yang bebas.
Setelah operasi bind
berhasil, 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 porta bebas.
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(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,
)
Menutup soket dan melepaskan alamat/port tempat soket terikat. Setiap soket yang dibuat harus ditutup setelah digunakan. ID soket tidak lagi valid segera pada fungsi yang dipanggil. Akan tetapi, soket dijamin akan ditutup hanya ketika callback dipanggil.
Parameter
-
socketId
angka
ID soket.
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Janji<void>
Chrome 121 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
create()
chrome.sockets.udp.create(
properties?: SocketProperties,
callback?: function,
)
Membuat soket UDP dengan properti yang diberikan.
Parameter
-
properti
SocketProperties opsional
Properti soket (opsional).
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:(createInfo: CreateInfo) => void
-
createInfo
Hasil pembuatan soket.
-
Hasil
-
Promise<CreateInfo>
Chrome 121 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
getInfo()
chrome.sockets.udp.getInfo(
socketId: number,
callback?: function,
)
Mengambil status soket yang diberikan.
Parameter
-
socketId
angka
ID soket.
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:(socketInfo: SocketInfo) => void
-
socketInfo
Objek yang berisi informasi soket.
-
Hasil
-
Promise<SocketInfo>
Chrome 121 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
getJoinedGroups()
chrome.sockets.udp.getJoinedGroups(
socketId: number,
callback?: function,
)
Mendapatkan alamat grup multicast tempat soket saat ini bergabung.
Parameter
-
socketId
angka
ID soket.
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:(groups: string[]) => void
-
yang dilacak
{i>string<i}[]
Array grup yang digabungkan dengan soket.
-
Hasil
-
Promise<string[]>
Chrome 121 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
getSockets()
chrome.sockets.udp.getSockets(
callback?: function,
)
Mengambil daftar soket yang saat ini dibuka milik aplikasi.
Parameter
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:(socketInfos: SocketInfo[]) => void
-
socketInfos
Array objek yang berisi informasi soket.
-
Hasil
-
Promise<SocketInfo[]>
Chrome 121 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
joinGroup()
chrome.sockets.udp.joinGroup(
socketId: number,
address: string,
callback: function,
)
Bergabung dengan grup {i>multicast <i}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 bergabung. Nama domain tidak didukung.
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(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,
)
Keluar dari grup multicast yang sebelumnya bergabung menggunakan joinGroup
. Ini hanya diperlukan untuk memanggil jika Anda berencana untuk terus menggunakan soket setelahnya, karena akan dilakukan secara otomatis oleh OS saat soket ditutup.
Keluar dari grup akan mencegah {i>router<i} mengirim datagram multicast ke {i>host<i} lokal, dengan asumsi tidak ada proses lain pada {i>host<i} yang masih bergabung ke grup.
Parameter
-
socketId
angka
ID soket.
-
alamat
string
Alamat grup yang akan dihapus. Nama domain tidak didukung.
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(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,
)
Mengirim data pada 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 dan yang lebih baruPreferensi resolusi alamat.
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(sendInfo: SendInfo) => void
-
sendInfo
Hasil metode
send
.
-
setBroadcast()
chrome.sockets.udp.setBroadcast(
socketId: number,
enabled: boolean,
callback: function,
)
Mengaktifkan atau menonaktifkan paket siaran pada soket ini.
Parameter
-
socketId
angka
ID soket.
-
diaktifkan
boolean
true
untuk mengaktifkan paket siaran,false
untuk menonaktifkannya. -
callback
fungsi
Parameter
callback
terlihat seperti ini:(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,
)
Menetapkan apakah paket multicast yang dikirim dari host ke grup multicast akan di-loop kembali ke host.
Catatan: perilaku setMulticastLoopbackMode
sedikit berbeda antara sistem seperti Windows dan Unix. Inkonsistensi hanya terjadi jika ada lebih dari satu aplikasi pada host yang sama yang bergabung ke grup multicast yang sama dan memiliki setelan yang berbeda pada mode loopback multicast. Di Windows, aplikasi dengan {i>loopback<i} nonaktif tidak akan MENERIMA paket loopback; sementara pada sistem serupa Unix, aplikasi dengan {i>loopback<i} nonaktif tidak akan MENGIRIMKAN paket loopback ke aplikasi lain pada {i>host<i} yang sama. Lihat MSDN: http://goo.gl/6vqbj
Memanggil metode ini tidak memerlukan izin multicast.
Parameter
-
socketId
angka
ID soket.
-
diaktifkan
boolean
Menunjukkan apakah akan mengaktifkan mode loopback.
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(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,
)
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
callback
terlihat seperti ini:(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,
)
Menjeda atau membatalkan jeda soket. Soket yang dijeda akan diblokir agar tidak mengaktifkan peristiwa onReceive
.
Parameter
-
socketId
angka
-
dijeda
boolean
Tanda untuk menunjukkan apakah akan menjeda atau membatalkan jeda.
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Janji<void>
Chrome 121 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
update()
chrome.sockets.udp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
)
Memperbarui properti soket.
Parameter
-
socketId
angka
ID soket.
-
properti
Properti yang akan diperbarui.
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Janji<void>
Chrome 121 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
Acara
onReceive
chrome.sockets.udp.onReceive.addListener(
callback: function,
)
Peristiwa yang muncul saat paket UDP telah diterima untuk soket yang diberikan.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(info: ReceiveInfo) => void
-
info
-
onReceiveError
chrome.sockets.udp.onReceiveError.addListener(
callback: function,
)
Peristiwa muncul saat terjadi error jaringan saat runtime menunggu data di port dan alamat soket. Setelah peristiwa ini dipicu, soket akan dijeda dan tidak ada lagi peristiwa onReceive
yang akan dimunculkan untuk soket ini hingga soket dilanjutkan.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(info: ReceiveErrorInfo) => void
-
info
-