chrome.bluetoothSocket

説明

chrome.bluetoothSocket API を使用して、RFCOMM 接続と L2CAP 接続を使用して Bluetooth デバイスにデータを送受信します。

マニフェスト

この API を使用するには、次のキーをマニフェストで宣言する必要があります。

"bluetooth"

AcceptError

列挙型

「system_error」
システムエラーが発生し、接続を復元できない可能性があります。

「not_listening」
ソケットがリッスンしていません。

AcceptErrorInfo

プロパティ

  • エラー

    何が間違っていたかを示すエラーコード。

  • errorMessage

    文字列

    エラー メッセージ。

  • socketId

    数値

    サーバー ソケット ID。

AcceptInfo

プロパティ

  • clientSocketId

    数値

    クライアント ソケット識別子(新しく確立された接続のソケット識別子)。このソケット識別子は、chrome.bluetoothSocket 名前空間の関数でのみ使用する必要があります。クライアント ソケットは最初は一時停止されており、データの受信を開始するには、アプリによって明示的に一時停止を解除する必要があります。

  • socketId

    数値

    サーバー ソケット ID。

CreateInfo

プロパティ

  • socketId

    数値

    新しく作成されたソケットの ID。この API から作成されたソケット ID は、[sockets.tcp](../sockets_tcp/) API などの他の API から作成されたソケット ID と互換性がないことに注意してください。

ListenOptions

プロパティ

  • バックログ

    number 省略可

    ソケットのリスンキューの長さ。デフォルト値は、オペレーティング システムのホスト サブシステムによって異なります。

  • チャンネル

    number 省略可

    listenUsingRfcomm が使用する RFCOMM チャネル。指定した場合、このチャネルは以前に使用されていない必要があります。そうでない場合、メソッド呼び出しは失敗します。指定しない場合、未使用のチャンネルが自動的に割り振られます。

  • psm

    number 省略可

    listenUsingL2cap で使用される L2CAP PSM。指定した場合、この PSM は以前に使用されていない必要があります。使用されている場合、メソッド呼び出しは失敗します。指定しない場合、未使用の PSM が自動的に割り当てられます。

ReceiveError

列挙型

「disconnected」
接続が切断されました。

「system_error」
システムエラーが発生し、接続を復元できない可能性があります。

「not_connected」
ソケットが接続されていません。

ReceiveErrorInfo

プロパティ

  • エラー

    何が間違っていたかを示すエラーコード。

  • errorMessage

    文字列

    エラー メッセージ。

  • socketId

    数値

    ソケット ID。

ReceiveInfo

プロパティ

  • データ

    ArrayBuffer

    受信したデータ。最大サイズは bufferSize です。

  • socketId

    数値

    ソケット ID。

SocketInfo

プロパティ

  • 住所

    文字列 省略可

    基盤となるソケットが接続されている場合、接続先のデバイスの Bluetooth アドレスが含まれます。

  • bufferSize

    number 省略可

    データの受信に使用されるバッファのサイズ。バッファサイズが明示的に指定されていない場合、値は提供されません。

  • 接続済み

    ブール値

    ソケットがリモート ピアに接続されているかどうかを示すフラグ。

  • name

    文字列 省略可

    ソケットに関連付けられたアプリケーション定義の文字列。

  • 一時停止

    ブール値

    接続されたソケットがピアによるデータの送信をブロックするかどうか、またはリッスン ソケットの接続リクエストが onAccept イベントを介してディスパッチされるか、リッスン キュー バックログにキューに登録されるかを示すフラグ。setPaused をご覧ください。デフォルト値は「False」です。

  • 永続

    ブール値

    アプリケーションのイベントページがアンロードされたときにソケットが開いたままになるかどうかを示すフラグ(SocketProperties.persistent を参照)。デフォルト値は「false」です。

  • socketId

    数値

    ソケット ID。

  • uuid

    文字列 省略可

    基盤となるソケットが接続されている場合は、接続先のサービス UUID に関する情報が含まれます。基盤となるソケットがリッスンしている場合は、リッスンしているサービス UUID に関する情報が含まれます。

SocketProperties

プロパティ

  • bufferSize

    number 省略可

    データの受信に使用されるバッファのサイズ。デフォルト値は 4096 です。

  • name

    文字列 省略可

    ソケットに関連付けられたアプリケーション定義の文字列。

  • 永続

    ブール値(省略可)

    アプリケーションのイベントページがアンロードされたときにソケットが開いたままになるかどうかを示すフラグ(アプリのライフサイクルを管理するを参照)。デフォルト値は false. です。アプリケーションが読み込まれると、persistent=true で以前に開かれたソケットは getSockets で取得できます。

メソッド

close()

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

ソケットを切断して破棄します。作成された各ソケットは、使用後に閉じる必要があります。関数が呼び出されると、ソケット ID は無効になります。ただし、ソケットが閉じられるのは、コールバックが呼び出されたときのみです。

パラメータ

  • socketId

    数値

    ソケット ID。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 91 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

connect()

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

ソケットをリモート Bluetooth デバイスに接続します。connect オペレーションが正常に完了すると、ピアからデータを受信したときに onReceive イベントが発生します。ランタイムがパケットを受信しているときにネットワーク エラーが発生すると、onReceiveError イベントが発生します。この時点で、setPaused(false) メソッドが呼び出されるまで、このソケットに対して onReceive イベントは発生しません。

パラメータ

  • socketId

    数値

    ソケット ID。

  • 住所

    文字列

    Bluetooth デバイスのアドレス。

  • uuid

    文字列

    接続するサービスの UUID。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 91 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

create()

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

Bluetooth ソケットを作成します。

パラメータ

  • プロパティ

    SocketProperties 省略可

    ソケット プロパティ(省略可)。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (createInfo: CreateInfo) => void

    • createInfo

      ソケット作成の結果。

戻り値

  • Promise<CreateInfo>

    Chrome 91 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

disconnect()

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

ソケットを切断します。ソケット識別子は有効なままです。

パラメータ

  • socketId

    数値

    ソケット ID。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 91 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

getInfo()

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

指定されたソケットの状態を取得します。

パラメータ

  • socketId

    数値

    ソケット ID。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (socketInfo: SocketInfo) => void

    • socketInfo

      ソケット情報を含むオブジェクト。

戻り値

  • Promise<SocketInfo>

    Chrome 91 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

getSockets()

Promise
chrome.bluetoothSocket.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

アプリケーションが所有する現在開いているソケットのリストを取得します。

パラメータ

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (sockets: SocketInfo[]) => void

戻り値

  • Promise<SocketInfo[]>

    Chrome 91 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

listenUsingL2cap()

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

L2CAP プロトコルを使用して接続をリッスンします。

パラメータ

  • socketId

    数値

    ソケット ID。

  • uuid

    文字列

    リッスンするサービス UUID。

  • オプション

    ListenOptions 省略可

    サービスのオプションの追加オプション。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 91 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

listenUsingRfcomm()

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

RFCOMM プロトコルを使用して接続をリッスンします。

パラメータ

  • socketId

    数値

    ソケット ID。

  • uuid

    文字列

    リッスンするサービス UUID。

  • オプション

    ListenOptions 省略可

    サービスのオプションの追加オプション。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 91 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

send()

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

指定された Bluetooth ソケットでデータを送信します。

パラメータ

  • socketId

    数値

    ソケット ID。

  • データ

    ArrayBuffer

    送信するデータ。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (bytesSent: number) => void

    • bytesSent

      数値

      送信されたバイト数。

戻り値

  • Promise<number>

    Chrome 91 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

setPaused()

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

接続されたソケットがピアからメッセージを受信したり、リスニング ソケットが新しい接続を受け入れたりすることを有効または無効にします。デフォルト値は「false」です。接続されたソケットの一時停止は通常、ピアから送信されたデータをスロットリングするためにアプリケーションによって使用されます。接続されたソケットが一時停止されると、onReceive イベントは発生しません。ソケットが接続されて一時停止が解除されると、メッセージを受信したときに onReceive イベントが再び発生します。リスニング ソケットが一時停止されると、バックログがいっぱいになるまで新しい接続が受け入れられ、それ以降の接続リクエストは拒否されます。onAccept イベントは、ソケットが一時停止されていない場合にのみ発生します。

パラメータ

  • socketId

    数値

  • 一時停止

    ブール値

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 91 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

update()

Promise
chrome.bluetoothSocket.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)
: Promise<void>

ソケットのプロパティを更新します。

パラメータ

  • socketId

    数値

    ソケット ID。

  • プロパティ

    更新するプロパティ。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 91 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

イベント

onAccept

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

指定されたソケットの接続が確立されたときに発生するイベント。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (info: AcceptInfo) => void

onAcceptError

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

ランタイムが指定されたソケットで新しい接続を待機している間にネットワーク エラーが発生したときに発生するイベント。このイベントが発生すると、ソケットは paused に設定され、このソケットに対して onAccept イベントは発生しなくなります。

パラメータ

onReceive

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

特定のソケットのデータを受信したときに発生するイベント。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (info: ReceiveInfo) => void

onReceiveError

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

ランタイムがソケット上のデータを待機している間にネットワーク エラーが発生した場合に発生するイベント。このイベントが発生すると、ソケットは paused に設定され、このソケットに対して onReceive イベントは発生しなくなります。

パラメータ