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
-
tlsVersion
TLSVersionConstraints opsional
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 melaluidisconnect()
.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
atauudp
.
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
atautls1.3
.Nilai
tls1
dantls1.1
tidak lagi didukung. Jikamin
ditetapkan ke salah satu nilai ini, nilai tersebut akan dibatasi secara diam-diam ketls1.2
. Jikamax
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
-
acceptInfo
-
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()
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
atauudp
. -
opsi
CreateOptions opsional
Opsi soket.
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:(createInfo: CreateInfo) => void
-
createInfo
-
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()
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
-
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()
chrome.socket.getNetworkList(
callback?: function,
): Promise<NetworkInterface[]>
Mengambil informasi tentang adaptor lokal di sistem ini.
Parameter
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:(result: NetworkInterface[]) => void
-
hasil
-
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
-
readInfo
-
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
-
recvFromInfo
-
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
-
writeInfo
-
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.