chrome.bluetoothSocket

Deskripsi

Gunakan chrome.bluetoothSocket API untuk mengirim dan menerima data ke perangkat Bluetooth menggunakan koneksi RFCOMM dan L2CAP.

Manifes

Kunci berikut harus dideklarasikan dalam manifes untuk menggunakan API ini.

"bluetooth"

Jenis

AcceptError

Enum

"system_error"
Terjadi error sistem dan koneksi mungkin tidak dapat dipulihkan.

"not_listening"
Soket tidak mendengarkan.

AcceptErrorInfo

Properti

  • error

    Kode error yang menunjukkan masalah yang terjadi.

  • errorMessage

    string

    Pesan error.

  • socketId

    angka

    ID soket server.

AcceptInfo

Properti

  • clientSocketId

    angka

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

  • socketId

    angka

    ID soket server.

CreateInfo

Properti

  • socketId

    angka

    ID soket yang baru dibuat. Perhatikan bahwa ID soket yang dibuat dari API ini tidak kompatibel dengan ID soket yang dibuat dari API lain, seperti API [sockets.tcp](../sockets_tcp/).

ListenOptions

Properti

  • backlog

    number opsional

    Panjang antrean pemrosesan soket. Nilai default bergantung pada subsistem host sistem operasi.

  • saluran

    number opsional

    Saluran RFCOMM yang digunakan oleh listenUsingRfcomm. Jika ditentukan, saluran ini tidak boleh digunakan sebelumnya atau panggilan metode akan gagal. Jika tidak ditentukan, saluran yang tidak digunakan akan otomatis dialokasikan.

  • psm

    number opsional

    PSM L2CAP yang digunakan oleh listenUsingL2cap. Jika ditentukan, PSM ini tidak boleh digunakan sebelumnya atau panggilan metode akan gagal. Jika tidak ditentukan, PSM yang tidak digunakan akan otomatis dialokasikan.

ReceiveError

Enum

"disconnected"
Koneksi terputus.

"system_error"
Terjadi error sistem dan koneksi mungkin tidak dapat dipulihkan.

"not_connected"
Soket belum terhubung.

ReceiveErrorInfo

Properti

  • error

    Kode error yang menunjukkan masalah yang terjadi.

  • errorMessage

    string

    Pesan error.

  • socketId

    angka

    ID soket.

ReceiveInfo

Properti

  • data

    ArrayBuffer

    Data yang diterima, dengan ukuran maksimum bufferSize.

  • socketId

    angka

    ID soket.

SocketInfo

Properti

  • alamat

    string opsional

    Jika soket pokok terhubung, berisi alamat Bluetooth perangkat yang terhubung.

  • bufferSize

    number opsional

    Ukuran buffer yang digunakan untuk menerima data. Jika tidak ada ukuran buffering yang ditentukan secara eksplisit, nilai tidak akan diberikan.

  • terhubung

    boolean

    Flag yang menunjukkan apakah soket terhubung ke peer jarak jauh.

  • nama

    string opsional

    String yang ditentukan aplikasi yang terkait dengan soket.

  • dijeda

    boolean

    Flag yang menunjukkan apakah soket yang terhubung memblokir peer-nya agar tidak mengirim lebih banyak data, atau apakah permintaan koneksi di soket pemrosesan dirutekan melalui peristiwa onAccept atau diantrekan dalam antrean pemrosesan. Lihat setPaused. Nilai defaultnya adalah "false".

  • persisten

    boolean

    Flag yang menunjukkan apakah soket tetap terbuka saat halaman peristiwa aplikasi di-unload (lihat SocketProperties.persistent). Nilai defaultnya adalah "false".

  • socketId

    angka

    ID soket.

  • uuid

    string opsional

    Jika soket pokok terhubung, berisi informasi tentang UUID layanan yang terhubung, jika tidak, jika soket pokok memproses, berisi informasi tentang UUID layanan yang diproses.

SocketProperties

Properti

  • bufferSize

    number opsional

    Ukuran buffer yang digunakan untuk menerima data. Nilai defaultnya adalah 4096.

  • nama

    string opsional

    String yang ditentukan aplikasi yang terkait dengan soket.

  • persisten

    boolean opsional

    Flag yang menunjukkan apakah soket dibiarkan terbuka saat halaman peristiwa aplikasi di-unload (lihat Mengelola Siklus Proses Aplikasi). Nilai defaultnya adalah false. Saat aplikasi dimuat, soket yang sebelumnya dibuka dengan persistent=true dapat diambil dengan getSockets.

Metode

close()

Promise
chrome.bluetoothSocket.close(
  socketId: number,
  callback?: function,
)

Memutuskan koneksi dan menghancurkan soket. Setiap soket yang dibuat harus ditutup setelah digunakan. ID soket tidak lagi valid segera setelah fungsi dipanggil. Namun, soket dijamin hanya ditutup saat callback dipanggil.

Parameter

  • socketId

    angka

    ID soket.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    () => void

Hasil

  • Promise<void>

    Chrome 91+

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

connect()

Promise
chrome.bluetoothSocket.connect(
  socketId: number,
  address: string,
  uuid: string,
  callback?: function,
)

Menghubungkan soket ke perangkat Bluetooth jarak jauh. Saat operasi connect berhasil diselesaikan, peristiwa onReceive akan dimunculkan saat data diterima dari peer. Jika error jaringan terjadi saat runtime menerima paket, peristiwa onReceiveError akan dimunculkan, dan pada saat itu tidak ada lagi peristiwa onReceive yang akan dimunculkan untuk soket ini hingga metode setPaused(false) dipanggil.

Parameter

  • socketId

    angka

    ID soket.

  • alamat

    string

    Alamat perangkat Bluetooth.

  • uuid

    string

    UUID layanan yang akan dihubungkan.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    () => void

Hasil

  • Promise<void>

    Chrome 91+

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

create()

Promise
chrome.bluetoothSocket.create(
  properties?: SocketProperties,
  callback?: function,
)

Membuat soket Bluetooth.

Parameter

  • properti

    Properti soket (opsional).

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (createInfo: CreateInfo) => void

Hasil

  • Promise<CreateInfo>

    Chrome 91+

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

disconnect()

Promise
chrome.bluetoothSocket.disconnect(
  socketId: number,
  callback?: function,
)

Memutuskan sambungan soket. ID soket tetap valid.

Parameter

  • socketId

    angka

    ID soket.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    () => void

Hasil

  • Promise<void>

    Chrome 91+

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

getInfo()

Promise
chrome.bluetoothSocket.getInfo(
  socketId: number,
  callback?: function,
)

Mengambil status soket yang diberikan.

Parameter

  • socketId

    angka

    ID soket.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Objek yang berisi informasi soket.

Hasil

  • Promise<SocketInfo>

    Chrome 91+

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

getSockets()

Promise
chrome.bluetoothSocket.getSockets(
  callback?: function,
)

Mengambil daftar soket yang saat ini terbuka dan dimiliki oleh aplikasi.

Parameter

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (sockets: SocketInfo[]) => void

Hasil

  • Promise<SocketInfo[]>

    Chrome 91+

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

listenUsingL2cap()

Promise
chrome.bluetoothSocket.listenUsingL2cap(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)

Memproses koneksi menggunakan protokol L2CAP.

Parameter

  • socketId

    angka

    ID soket.

  • uuid

    string

    UUID layanan yang akan diproses.

  • opsi

    ListenOptions opsional

    Opsi tambahan opsional untuk layanan.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    () => void

Hasil

  • Promise<void>

    Chrome 91+

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

listenUsingRfcomm()

Promise
chrome.bluetoothSocket.listenUsingRfcomm(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)

Mendeteksi koneksi menggunakan protokol RFCOMM.

Parameter

  • socketId

    angka

    ID soket.

  • uuid

    string

    UUID layanan yang akan diproses.

  • opsi

    ListenOptions opsional

    Opsi tambahan opsional untuk layanan.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    () => void

Hasil

  • Promise<void>

    Chrome 91+

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

send()

Promise
chrome.bluetoothSocket.send(
  socketId: number,
  data: ArrayBuffer,
  callback?: function,
)

Mengirim data di soket Bluetooth yang ditentukan.

Parameter

  • socketId

    angka

    ID soket.

  • data

    ArrayBuffer

    Data yang akan dikirim.

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    (bytesSent: number) => void

    • bytesSent

      angka

      Jumlah byte yang dikirim.

Hasil

  • Promise<number>

    Chrome 91+

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

setPaused()

Promise
chrome.bluetoothSocket.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

Mengaktifkan atau menonaktifkan soket yang terhubung agar tidak menerima pesan dari peer-nya, atau soket pemroses agar tidak menerima koneksi baru. Nilai defaultnya adalah "false". Menjeda soket yang terhubung biasanya digunakan oleh aplikasi untuk membatasi data yang dikirim oleh peer-nya. Saat soket yang terhubung dijeda, tidak ada peristiwa onReceive yang dimunculkan. Saat soket terhubung dan tidak dijeda, peristiwa onReceive akan dimunculkan lagi saat pesan diterima. Saat soket pemrosesan dijeda, koneksi baru akan diterima hingga backlog-nya penuh, lalu permintaan koneksi tambahan akan ditolak. Peristiwa onAccept hanya dipicu saat soket tidak dijeda.

Parameter

  • socketId

    angka

  • dijeda

    boolean

  • callback

    fungsi opsional

    Parameter callback terlihat seperti:

    () => void

Hasil

  • Promise<void>

    Chrome 91+

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

update()

Promise
chrome.bluetoothSocket.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:

    () => void

Hasil

  • Promise<void>

    Chrome 91+

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

Acara

onAccept

chrome.bluetoothSocket.onAccept.addListener(
  callback: function,
)

Peristiwa yang dimunculkan saat koneksi telah dibuat untuk soket tertentu.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (info: AcceptInfo) => void

onAcceptError

chrome.bluetoothSocket.onAcceptError.addListener(
  callback: function,
)

Peristiwa yang ditampilkan saat terjadi error jaringan saat runtime menunggu koneksi baru di soket tertentu. Setelah peristiwa ini dimunculkan, soket ditetapkan ke paused dan tidak ada lagi peristiwa onAccept yang dimunculkan untuk soket ini.

Parameter

onReceive

chrome.bluetoothSocket.onReceive.addListener(
  callback: function,
)

Peristiwa yang dimunculkan saat data telah diterima untuk soket tertentu.

Parameter

onReceiveError

chrome.bluetoothSocket.onReceiveError.addListener(
  callback: function,
)

Peristiwa yang ditampilkan saat terjadi error jaringan saat runtime menunggu data di soket. Setelah peristiwa ini dimunculkan, soket ditetapkan ke paused dan tidak ada lagi peristiwa onReceive yang dimunculkan untuk soket ini.

Parameter