chrome.socket

Deskripsi

Gunakan chrome.socket API untuk mengirim dan menerima data melalui jaringan menggunakan koneksi TCP dan UDP. Catatan: Mulai Chrome 33, API ini tidak digunakan lagi dan digantikan oleh API sockets.udp, sockets.tcp, dan sockets.tcpServer.

Izin

socket

Jenis

AcceptInfo

Properti

  • resultCode

    angka

  • socketId

    angka opsional

    ID soket yang diterima.

CreateInfo

Properti

  • socketId

    angka

    ID soket yang baru dibuat.

CreateOptions

NetworkInterface

Properti

  • alamat

    string

    Alamat IPv4/6 yang tersedia.

  • nama

    string

    Nama dasar adaptor. Pada *nix, biasanya berupa "eth0", "lo", dll.

  • prefixLength

    angka

    Panjang awalan

ReadInfo

Properti

  • data

    ArrayBuffer

  • resultCode

    angka

    resultCode yang ditampilkan dari panggilan read() yang mendasarinya.

RecvFromInfo

Properti

  • alamat

    string

    Alamat komputer jarak jauh.

  • data

    ArrayBuffer

  • port

    angka

  • resultCode

    angka

    resultCode yang ditampilkan dari panggilan recvfrom() yang mendasarinya.

SecureOptions

Properti

SocketInfo

Properti

  • terhubung

    boolean

    Apakah soket yang mendasarinya terhubung atau tidak.

    Untuk soket tcp, nilai ini akan tetap benar meskipun koneksi peer jarak jauh telah terputus. Membaca atau menulis ke soket dapat mengakibatkan error, yang mengisyaratkan bahwa soket ini harus diputus melalui disconnect().

    Untuk soket udp, ini hanya menunjukkan apakah alamat jarak jauh default telah ditentukan untuk membaca dan menulis paket.

  • localAddress

    string opsional

    Jika soket yang mendasarinya terikat atau terhubung, berisi alamat IPv4/6 lokalnya.

  • localPort

    angka opsional

    Jika soket yang mendasarinya terikat atau terhubung, berarti soket tersebut berisi port lokal.

  • peerAddress

    string opsional

    Jika soket yang mendasarinya terhubung, berisi alamat IPv4/6 peer.

  • peerPort

    angka opsional

    Jika soket yang mendasarinya terhubung, berisi port peer yang terhubung.

  • socketType

    Jenis soket yang diteruskan. Nilainya adalah tcp atau udp.

SocketType

Enum

"tcp"

"udp"

TLSVersionConstraints

Properti

  • maks

    string opsional

  • mnt

    string opsional

    Versi TLS minimum dan maksimum yang dapat diterima. Nilai yang didukung adalah tls1.2 atau tls1.3.

    Nilai tls1 dan tls1.1 tidak lagi didukung. Jika min ditetapkan ke salah satu nilai ini, nilai tersebut akan dibulatkan ke tls1.2 secara otomatis. Jika max disetel ke salah satu nilai tersebut, atau nilai lain yang tidak dikenal, nilai tersebut akan diabaikan tanpa pemberitahuan.

WriteInfo

Properti

  • bytesWritten

    angka

    Jumlah byte yang dikirim, atau kode error negatif.

Metode

accept()

chrome.socket.accept(
  socketId: number,
  callback: function,
)

Metode ini hanya berlaku untuk soket TCP. Mendaftarkan fungsi callback untuk dipanggil saat koneksi diterima pada soket server yang memprosesnya ini. Dengarkan harus dipanggil terlebih dahulu. Jika sudah ada callback terima yang aktif, callback ini akan segera dipanggil dengan error sebagai resultCode.

Parameter

  • socketId

    angka

    SocketId.

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (acceptInfo: AcceptInfo) => void

bind()

chrome.socket.bind(
  socketId: number,
  address: string,
  port: number,
  callback: function,
)

Mengikat alamat lokal untuk soket. Saat ini, RC tidak mendukung soket TCP.

Parameter

  • socketId

    angka

    SocketId.

  • alamat

    string

    Alamat komputer lokal.

  • port

    angka

    Port komputer lokal.

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (result: number) => void

    • hasil

      angka

connect()

chrome.socket.connect(
  socketId: number,
  hostname: string,
  port: number,
  callback: function,
)

Menghubungkan soket ke mesin jarak jauh (untuk soket tcp). Untuk soket udp, ini menetapkan alamat default tempat paket dikirim dan dibaca untuk panggilan read() dan write().

Parameter

  • socketId

    angka

    SocketId.

  • hostname

    string

    Nama host atau alamat IP mesin jarak jauh.

  • port

    angka

    Port komputer jarak jauh.

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (result: number) => void

    • hasil

      angka

create()

Janji
chrome.socket.create(
  type: SocketType,
  options?: CreateOptions,
  callback?: function,
)

Membuat soket dari jenis yang ditentukan yang akan terhubung ke mesin jarak jauh yang ditentukan.

Parameter

  • jenis

    Jenis soket yang akan dibuat. Harus tcp atau udp.

  • opsi

    CreateOptions opsional

    Opsi soket.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (createInfo: CreateInfo) => void

Hasil

  • Promise<CreateInfo>

    Chrome 121 dan yang lebih baru

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

destroy()

chrome.socket.destroy(
  socketId: number,
)

Menghancurkan soket. Setiap soket yang dibuat harus dihancurkan setelah digunakan.

Parameter

  • socketId

    angka

    SocketId.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)

Putuskan sambungan soket. Untuk soket UDP, disconnect adalah non-operasi tetapi aman untuk dipanggil.

Parameter

  • socketId

    angka

    SocketId.

getInfo()

Janji
chrome.socket.getInfo(
  socketId: number,
  callback?: function,
)

Mengambil status soket yang diberikan.

Parameter

  • socketId

    angka

    SocketId.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (result: SocketInfo) => void

Hasil

  • Promise<SocketInfo>

    Chrome 121 dan yang lebih baru

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

getJoinedGroups()

chrome.socket.getJoinedGroups(
  socketId: number,
  callback: function,
)

Mendapatkan alamat grup multicast tempat soket saat ini bergabung.

Parameter

  • socketId

    angka

    SocketId.

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (groups: string[]) => void

    • yang dilacak

      {i>string<i}[]

getNetworkList()

Janji
chrome.socket.getNetworkList(
  callback?: function,
)

Mengambil informasi tentang adaptor lokal di sistem ini.

Parameter

Hasil

  • Promise&lt;NetworkInterface[]&gt;

    Chrome 121 dan yang lebih baru

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

joinGroup()

chrome.socket.joinGroup(
  socketId: number,
  address: string,
  callback: function,
)

Bergabung dengan grup {i>multicast <i}dan mulai menerima paket dari grup tersebut. Soket harus berjenis UDP dan harus terikat ke port lokal sebelum memanggil metode ini.

Parameter

  • socketId

    angka

    SocketId.

  • alamat

    string

    Alamat grup yang akan bergabung. Nama domain tidak didukung.

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (result: number) => void

    • hasil

      angka

leaveGroup()

chrome.socket.leaveGroup(
  socketId: number,
  address: string,
  callback: function,
)

Keluar dari grup multicast yang sebelumnya bergabung menggunakan joinGroup. Anda tidak perlu keluar dari grup multicast sebelum menghancurkan soket atau keluar. Ini secara otomatis disebut oleh OS.

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

    SocketId.

  • alamat

    string

    Alamat grup yang akan dihapus. Nama domain tidak didukung.

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (result: number) => void

    • hasil

      angka

listen()

chrome.socket.listen(
  socketId: number,
  address: string,
  port: number,
  backlog?: number,
  callback: function,
)

Metode ini hanya berlaku untuk soket TCP. Memproses koneksi pada port dan alamat yang ditentukan. Hal ini secara efektif menjadikan soket server ini sebagai soket server, dan fungsi soket klien (menghubungkan, membaca, menulis) tidak dapat lagi digunakan pada soket ini.

Parameter

  • socketId

    angka

    SocketId.

  • alamat

    string

    Alamat komputer lokal.

  • port

    angka

    Port komputer lokal.

  • backlog

    angka opsional

    Panjang antrean pemrosesan soket.

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (result: number) => void

    • hasil

      angka

read()

chrome.socket.read(
  socketId: number,
  bufferSize?: number,
  callback: function,
)

Membaca data dari soket terhubung tertentu.

Parameter

  • socketId

    angka

    SocketId.

  • bufferSize

    angka opsional

    Ukuran buffer baca.

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (readInfo: ReadInfo) => void

recvFrom()

chrome.socket.recvFrom(
  socketId: number,
  bufferSize?: number,
  callback: function,
)

Menerima data dari soket UDP yang diberikan.

Parameter

  • socketId

    angka

    SocketId.

  • bufferSize

    angka opsional

    Ukuran buffer penerimaan.

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (recvFromInfo: RecvFromInfo) => void

secure()

chrome.socket.secure(
  socketId: number,
  options?: SecureOptions,
  callback: function,
)

Memulai koneksi klien TLS melalui soket klien TCP yang terhubung.

Parameter

  • socketId

    angka

    Soket yang terhubung untuk digunakan.

  • opsi

    SecureOptions opsional

    Batasan dan parameter untuk koneksi TLS.

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (result: number) => void

    • hasil

      angka

sendTo()

chrome.socket.sendTo(
  socketId: number,
  data: ArrayBuffer,
  address: string,
  port: number,
  callback: function,
)

Mengirim data pada soket UDP yang diberikan ke alamat dan port yang diberikan.

Parameter

  • socketId

    angka

    SocketId.

  • data

    ArrayBuffer

    Data yang akan ditulis.

  • alamat

    string

    Alamat komputer jarak jauh.

  • port

    angka

    Port komputer jarak jauh.

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (writeInfo: WriteInfo) => void

setKeepAlive()

chrome.socket.setKeepAlive(
  socketId: number,
  enable: boolean,
  delay?: number,
  callback: function,
)

Mengaktifkan atau menonaktifkan fungsi keep-alive untuk koneksi TCP.

Parameter

  • socketId

    angka

    SocketId.

  • aktifkan

    boolean

    Jika true (benar), aktifkan fungsi keep-alive.

  • penundaan

    angka opsional

    Atur detik tunda antara paket data terakhir yang diterima dan pemeriksaan keepalive pertama. Defaultnya adalah 0.

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (result: boolean) => void

    • hasil

      boolean

setMulticastLoopbackMode()

chrome.socket.setMulticastLoopbackMode(
  socketId: number,
  enabled: boolean,
  callback: function,
)

Menyetel 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

    SocketId.

  • diaktifkan

    boolean

    Menunjukkan apakah akan mengaktifkan mode loopback.

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (result: number) => void

    • hasil

      angka

setMulticastTimeToLive()

chrome.socket.setMulticastTimeToLive(
  socketId: number,
  ttl: number,
  callback: function,
)

Menyetel time-to-live paket multicast yang dikirim ke grup multicast.

Memanggil metode ini tidak memerlukan izin multicast.

Parameter

  • socketId

    angka

    SocketId.

  • ttl

    angka

    Nilai time to live (TTL).

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (result: number) => void

    • hasil

      angka

setNoDelay()

chrome.socket.setNoDelay(
  socketId: number,
  noDelay: boolean,
  callback: function,
)

Menyetel atau menghapus TCP_NODELAY untuk koneksi TCP. Algoritma Nagle akan dinonaktifkan saat TCP_NODELAY disetel.

Parameter

  • socketId

    angka

    SocketId.

  • noDelay

    boolean

    Jika true (benar), akan menonaktifkan algoritme Nagle.

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (result: boolean) => void

    • hasil

      boolean

write()

chrome.socket.write(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)

Menulis data pada soket terhubung yang ditentukan.

Parameter

  • socketId

    angka

    SocketId.

  • data

    ArrayBuffer

    Data yang akan ditulis.

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (writeInfo: WriteInfo) => void