chrome.sockets.tcpServer

Deskripsi

Gunakan chrome.sockets.tcpServer API untuk membuat aplikasi server menggunakan koneksi TCP. API ini menggantikan fungsi TCP yang sebelumnya ditemukan di chrome.socket API.

Manifes

Kunci berikut harus dideklarasikan dalam manifes untuk menggunakan API ini.

"sockets"

Jenis

AcceptErrorInfo

Properti

  • resultCode

    angka

    Kode hasil yang ditampilkan dari panggilan jaringan yang mendasarinya.

  • socketId

    angka

    ID soket server.

AcceptInfo

Properti

  • clientSocketId

    angka

    ID soket klien, yaitu ID soket dari koneksi yang baru dibuat. ID soket ini hanya boleh digunakan dengan fungsi dari namespace chrome.sockets.tcp. Perhatikan bahwa soket klien awalnya dijeda dan harus dibatalkan secara eksplisit oleh aplikasi untuk mulai menerima data.

  • socketId

    angka

    ID soket server.

CreateInfo

Properti

  • socketId

    angka

    ID soket server 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.

SocketInfo

Properti

  • localAddress

    string opsional

    Jika soket mendengarkan, berisi alamat IPv4/6 lokalnya.

  • localPort

    angka opsional

    Jika soket mendengarkan, berisi port lokalnya.

  • nama

    string opsional

    String yang ditentukan aplikasi yang terkait dengan soket.

  • dijeda

    boolean

    Flag yang menunjukkan apakah permintaan koneksi pada soket pemroses dikirim melalui peristiwa onAccept atau dimasukkan ke dalam antrean di backlog antrean pemrosesan. Lihat setPaused. Nilai defaultnya adalah "false".

  • persisten

    boolean

    Tanda yang menunjukkan apakah soket tetap terbuka saat halaman peristiwa aplikasi dihapus muatannya (lihat SocketProperties.persistent). Nilai defaultnya adalah "false".

  • socketId

    angka

    ID soket.

SocketProperties

Properti

  • nama

    string opsional

    String yang ditentukan aplikasi yang terkait dengan soket.

  • persisten

    boolean opsional

    Tanda yang menunjukkan apakah soket tetap 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

close()

Janji
chrome.sockets.tcpServer.close(
  socketId: number,
  callback?: function,
)

Memutuskan dan menghancurkan soket. 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.tcpServer.create(
  properties?: SocketProperties,
  callback?: function,
)

Membuat soket server TCP.

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.

disconnect()

Janji
chrome.sockets.tcpServer.disconnect(
  socketId: number,
  callback?: function,
)

Memutuskan sambungan soket pendengar, artinya berhenti menerima koneksi baru dan melepaskan alamat/port yang terikat dengan soket tersebut. ID soket tetap valid, mis. dapat digunakan dengan listen untuk menerima koneksi di port dan alamat baru.

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.

getInfo()

Janji
chrome.sockets.tcpServer.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.

getSockets()

Janji
chrome.sockets.tcpServer.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.

listen()

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

Memproses koneksi pada port dan alamat yang ditentukan. Jika port/alamat sedang digunakan, callback akan menunjukkan kegagalan.

Parameter

  • socketId

    angka

    ID soket.

  • alamat

    string

    Alamat komputer lokal.

  • port

    angka

    Port komputer lokal. Jika ditetapkan ke 0, port gratis akan dipilih secara dinamis. Port yang dialokasikan secara dinamis dapat ditemukan dengan memanggil getInfo.

  • backlog

    angka opsional

    Panjang antrean pemrosesan soket. Nilai default bergantung pada Sistem Operasi (SOMAXCONN), yang memastikan panjang antrean yang wajar untuk sebagian besar aplikasi.

  • 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.tcpServer.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

Mengaktifkan atau menonaktifkan soket pemroses agar tidak menerima koneksi baru. Saat dijeda, soket pemroses akan menerima koneksi baru hingga backlog-nya (lihat fungsi listen) penuh, lalu menolak permintaan koneksi tambahan. Peristiwa onAccept hanya dimunculkan saat soket dibatalkan jedanya.

Parameter

  • socketId

    angka

  • dijeda

    boolean

  • 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.tcpServer.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

onAccept

chrome.sockets.tcpServer.onAccept.addListener(
  callback: function,
)

Peristiwa yang timbul saat koneksi telah dibuat ke soket server.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (info: AcceptInfo) => void

onAcceptError

chrome.sockets.tcpServer.onAcceptError.addListener(
  callback: function,
)

Peristiwa muncul saat terjadi error jaringan saat runtime sedang menunggu koneksi baru di port dan alamat soket. Setelah peristiwa ini dipicu, soket disetel ke paused dan tidak ada lagi peristiwa onAccept yang dimunculkan untuk soket ini hingga soket dilanjutkan.

Parameter