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

    nomor 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() pokok.

RecvFromInfo

Properti

  • alamat

    string

    Alamat komputer jarak jauh.

  • data

    ArrayBuffer

  • port

    angka

  • resultCode

    angka

    resultCode yang ditampilkan dari panggilan recvfrom() pokok.

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 kemudian dapat menyebabkan error, yang mengindikasikan bahwa soket ini harus dihentikan 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

    nomor 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

    nomor 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 dibatasi secara diam-diam ke tls1.2. Jika max ditetapkan ke salah satu nilai tersebut, atau nilai lain yang tidak dikenali, 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,
)
: void

Metode ini hanya berlaku untuk soket TCP. Mendaftarkan fungsi callback yang akan dipanggil saat koneksi diterima di soket server yang mendengarkan 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 mesin lokal.

  • port

    angka

    Port mesin 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 socket udp, ini menetapkan alamat default yang digunakan untuk mengirim dan membaca paket 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()

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

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

Parameter

  • jenis

    Jenis socket 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 Manifest 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 operasi non-operasi, tetapi aman untuk dipanggil.

Parameter

  • socketId

    angka

    socketId.

getInfo()

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

Janji
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 Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

joinGroup()

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

Bergabung dengan grup multicast dan mulai menerima paket dari grup tersebut. Socket 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 bergabung menggunakan joinGroup. Anda tidak perlu keluar dari grup multicast sebelum menghancurkan soket atau keluar. Metode ini dipanggil secara otomatis 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 menjadikan soket ini sebagai soket server, dan fungsi soket klien (connect, read, write) tidak dapat lagi digunakan pada soket ini.

Parameter

  • socketId

    angka

    socketId.

  • alamat

    string

    Alamat mesin lokal.

  • port

    angka

    Port mesin lokal.

  • backlog

    nomor opsional

    Panjang antrean pendengar 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 terhubung yang diberikan.

Parameter

  • socketId

    angka

    socketId.

  • bufferSize

    nomor 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

    nomor opsional

    Ukuran buffer penerimaan.

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (recvFromInfo: RecvFromInfo) => void

secure()

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

Mulai 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 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:

    (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 (true), aktifkan fungsi tetap aktif.

  • penundaan

    nomor opsional

    Menetapkan detik penundaan antara paket data terakhir yang diterima dan pemeriksaan tetap aktif 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-loop kembali ke host.

Catatan: perilaku setMulticastLoopbackMode sedikit berbeda antara sistem Windows dan Unix. Ketidakkonsistenan 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.

  • diaktifkan

    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

Tetapkan 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.

  • 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 saat TCP_NODELAY disetel.

Parameter

  • socketId

    angka

    socketId.

  • noDelay

    boolean

    Jika benar (true), algoritma Nagle akan dinonaktifkan.

  • 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 terhubung yang ditentukan.

Parameter

  • socketId

    angka

    socketId.

  • data

    ArrayBuffer

    Data yang akan ditulis.

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (writeInfo: WriteInfo) => void