chrome.sockets.udp

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

Kunci berikut harus dideklarasikan dalam manifes untuk menggunakan API ini.

"sockets"

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

Chrome 103 dan yang lebih baru

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()

Janji
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 baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

create()

Janji
chrome.sockets.udp.create(
  properties?: SocketProperties,
  callback?: function,
)

Membuat soket UDP dengan properti yang diberikan.

Parameter

  • properti

    Properti soket (opsional).

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (createInfo: CreateInfo) => void

Hasil

  • Promise&lt;CreateInfo&gt;

    Chrome 121 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

getInfo()

Janji
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&lt;SocketInfo&gt;

    Chrome 121 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

getJoinedGroups()

Janji
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&lt;string[]&gt;

    Chrome 121 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

getSockets()

Janji
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&lt;SocketInfo[]&gt;

    Chrome 121 dan yang lebih baru

    Promise 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 baru

    Preferensi resolusi alamat.

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (sendInfo: SendInfo) => void

setBroadcast()

Chrome 44 dan yang lebih baru
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()

Janji
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 baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

update()

Janji
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 baru

    Promise 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

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