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

    number 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. Di *nix, ini 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, hal ini akan tetap berlaku meskipun peer jarak jauh telah terputus. Membaca atau menulis ke soket dapat menyebabkan error, yang mengisyaratkan bahwa soket ini harus diputuskan koneksinya 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

    number opsional

    Jika soket yang mendasarinya terikat atau terhubung, berisi port lokalnya.

  • peerAddress

    string opsional

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

  • peerPort

    number 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 otomatis dibatasi ke tls1.2. Jika max ditetapkan ke salah satu nilai tersebut, atau nilai lain yang tidak dikenali, nilai tersebut akan diabaikan tanpa ada pemberitahuan.

WriteInfo

Properti

  • bytesWritten

    angka

    Jumlah byte yang dikirim, atau kode error negatif.

Metode

accept()

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

Metode ini hanya berlaku untuk soket TCP. Mendaftarkan fungsi callback yang akan dipanggil saat koneksi diterima di soket server pemroses ini. Listen harus dipanggil terlebih dahulu. Jika sudah ada callback penerimaan yang aktif, callback ini akan segera dipanggil dengan error sebagai resultCode.

Parameter

  • socketId

    angka

    socketId.

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (acceptInfo: AcceptInfo) => void

bind()

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

Mengikat alamat lokal untuk soket. Saat ini, soket TCP tidak didukung.

Parameter

  • socketId

    angka

    socketId.

  • alamat

    string

    Alamat komputer lokal.

  • port

    angka

    Port komputer lokal.

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (result: number) => void

    • hasil

      angka

connect()

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

Menghubungkan soket ke mesin jarak jauh (untuk soket tcp). Untuk soket udp, tindakan 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 komputer jarak jauh.

  • port

    angka

    Port komputer jarak jauh.

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (result: number) => void

    • hasil

      angka

create()

Promise
chrome.socket.create(
  type: SocketType,
  options?: CreateOptions,
  callback?: function,
)
: Promise<CreateInfo>

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

Parameter

  • jenis

    Jenis soket yang akan dibuat. Harus berupa tcp atau udp.

  • opsi

    CreateOptions opsional

    Opsi soket.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (createInfo: CreateInfo) => void

Hasil

  • Promise<CreateInfo>

    Chrome 121+

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

destroy()

chrome.socket.destroy(
  socketId: number,
)
: void

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

Parameter

  • socketId

    angka

    socketId.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)
: void

Memutuskan koneksi soket. Untuk soket UDP, disconnect adalah non-operasi, tetapi aman untuk dipanggil.

Parameter

  • socketId

    angka

    socketId.

getInfo()

Promise
chrome.socket.getInfo(
  socketId: number,
  callback?: function,
)
: Promise<SocketInfo>

Mengambil status soket yang diberikan.

Parameter

  • socketId

    angka

    socketId.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (result: SocketInfo) => void

Hasil

  • Promise<SocketInfo>

    Chrome 121+

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

getJoinedGroups()

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

Mendapatkan alamat grup multicast yang saat ini diikuti oleh soket.

Parameter

  • socketId

    angka

    socketId.

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (groups: string[]) => void

    • yang dilacak

      string[]

getNetworkList()

Promise
chrome.socket.getNetworkList(
  callback?: function,
)
: Promise<NetworkInterface[]>

Mengambil informasi tentang adaptor lokal di sistem ini.

Parameter

Hasil

  • Promise<NetworkInterface[]>

    Chrome 121+

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

joinGroup()

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

Bergabung ke grup multicast 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 diikuti. Nama domain tidak didukung.

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (result: number) => void

    • hasil

      angka

leaveGroup()

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

Keluar dari grup multicast yang sebelumnya diikuti menggunakan joinGroup. Anda tidak perlu keluar dari grup multicast sebelum menghancurkan soket atau keluar. Hal ini otomatis dipanggil oleh OS.

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

    socketId.

  • alamat

    string

    Alamat grup yang akan ditinggalkan. Nama domain tidak didukung.

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (result: number) => void

    • hasil

      angka

listen()

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

Metode ini hanya berlaku untuk soket TCP. Memproses koneksi pada port dan alamat yang ditentukan. Hal ini secara efektif menjadikannya soket server, dan fungsi soket klien (connect, read, write) tidak dapat lagi digunakan pada soket ini.

Parameter

  • socketId

    angka

    socketId.

  • alamat

    string

    Alamat komputer lokal.

  • port

    angka

    Port komputer lokal.

  • backlog

    number opsional

    Panjang antrean pemrosesan soket.

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (result: number) => void

    • hasil

      angka

read()

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

Membaca data dari soket yang terhubung yang diberikan.

Parameter

  • socketId

    angka

    socketId.

  • bufferSize

    number opsional

    Ukuran buffer baca.

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (readInfo: ReadInfo) => void

recvFrom()

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

Menerima data dari soket UDP yang diberikan.

Parameter

  • socketId

    angka

    socketId.

  • bufferSize

    number opsional

    Ukuran buffer penerimaan.

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (recvFromInfo: RecvFromInfo) => void

secure()

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

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:

    (result: number) => void

    • hasil

      angka

sendTo()

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

Mengirim data di 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:

    (writeInfo: WriteInfo) => void

setKeepAlive()

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

Mengaktifkan atau menonaktifkan fungsi keep-alive untuk koneksi TCP.

Parameter

  • socketId

    angka

    socketId.

  • aktifkan

    boolean

    Jika benar, aktifkan fungsi keep-alive.

  • penundaan

    number opsional

    Tetapkan detik penundaan antara paket data terakhir yang diterima dan pemeriksaan keepalive pertama. Defaultnya adalah 0.

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (result: boolean) => void

    • hasil

      boolean

setMulticastLoopbackMode()

chrome.socket.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

    socketId.

  • aktif

    boolean

    Menunjukkan apakah akan mengaktifkan mode loopback.

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (result: number) => void

    • hasil

      angka

setMulticastTimeToLive()

chrome.socket.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

    socketId.

  • ttl

    angka

    Nilai time to live (TTL).

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (result: number) => void

    • hasil

      angka

setNoDelay()

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

Menetapkan atau menghapus TCP_NODELAY untuk koneksi TCP. Algoritma Nagle akan dinonaktifkan jika TCP_NODELAY ditetapkan.

Parameter

  • socketId

    angka

    socketId.

  • noDelay

    boolean

    Jika true, menonaktifkan algoritma Nagle.

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (result: boolean) => void

    • hasil

      boolean

write()

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

Menulis data pada soket yang terhubung yang diberikan.

Parameter

  • socketId

    angka

    socketId.

  • data

    ArrayBuffer

    Data yang akan ditulis.

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (writeInfo: WriteInfo) => void