chrome.bluetoothSocket

説明

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

マニフェスト

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

"bluetooth"

AcceptError

Enum

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

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

AcceptErrorInfo

プロパティ

  • error

    エラーを示すエラーコード。

  • errorMessage

    文字列

    エラー メッセージ。

  • socketId

    数値

    サーバー ソケット識別子。

AcceptInfo

プロパティ

  • clientSocketId

    数値

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

  • socketId

    数値

    サーバー ソケット識別子。

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

Enum

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

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

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

ReceiveErrorInfo

プロパティ

  • error

    エラーを示すエラーコード。

  • errorMessage

    文字列

    エラー メッセージ。

  • socketId

    数値

    ソケット識別子。

ReceiveInfo

プロパティ

  • data

    ArrayBuffer

    受信したデータ(最大サイズは bufferSize)。

  • socketId

    数値

    ソケット識別子。

SocketInfo

プロパティ

  • address

    string(省略可)

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

  • bufferSize

    number(省略可)

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

  • 接続済み

    boolean

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

  • name

    string(省略可)

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

  • 一時停止

    boolean

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

  • 永続

    boolean

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

  • socketId

    数値

    ソケット識別子。

  • uuid

    string(省略可)

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

SocketProperties

プロパティ

  • bufferSize

    number(省略可)

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

  • name

    string(省略可)

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

  • 永続

    ブール値(省略可)

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

Methods

close()

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

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

パラメータ

  • socketId

    数値

    ソケット識別子。

  • callback

    関数(省略可)

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

    ()=>void

戻り値

  • Promise<void>

    Chrome 91 以降

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

connect()

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

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

パラメータ

  • socketId

    数値

    ソケット識別子。

  • address

    文字列

    Bluetooth デバイスのアドレス。

  • uuid

    文字列

    接続先のサービスの UUID。

  • callback

    関数(省略可)

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

    ()=>void

戻り値

  • Promise<void>

    Chrome 91 以降

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

create()

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

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

パラメータ

  • プロパティ

    SocketProperties 省略可

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

  • callback

    関数(省略可)

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

    (createInfo: CreateInfo)=>void

    • createInfo

      ソケット作成の結果。

戻り値

  • Promise<CreateInfo>

    Chrome 91 以降

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

disconnect()

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

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

パラメータ

  • socketId

    数値

    ソケット識別子。

  • callback

    関数(省略可)

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

    ()=>void

戻り値

  • Promise<void>

    Chrome 91 以降

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

getInfo()

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

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

パラメータ

  • socketId

    数値

    ソケット識別子。

  • callback

    関数(省略可)

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

    (socketInfo: SocketInfo)=>void

    • socketInfo

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

戻り値

  • Promise<SocketInfo>

    Chrome 91 以降

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

getSockets()

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

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

パラメータ

  • 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,
)

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

パラメータ

  • socketId

    数値

    ソケット識別子。

  • 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,
)

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

パラメータ

  • socketId

    数値

    ソケット識別子。

  • uuid

    文字列

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

  • オプション

    ListenOptions 省略可

    サービスの追加オプション(省略可)。

  • callback

    関数(省略可)

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

    ()=>void

戻り値

  • Promise<void>

    Chrome 91 以降

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

send()

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

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

パラメータ

  • socketId

    数値

    ソケット識別子。

  • data

    ArrayBuffer

    送信するデータ。

  • callback

    関数(省略可)

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

    (bytesSent: number)=>void

    • bytesSent

      数値

      送信されたバイト数。

戻り値

  • Promise<数値>

    Chrome 91 以降

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

setPaused()

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

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

パラメータ

  • socketId

    数値

  • 一時停止

    boolean

  • callback

    関数(省略可)

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

    ()=>void

戻り値

  • Promise<void>

    Chrome 91 以降

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

update()

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

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

パラメータ

  • socketId

    数値

    ソケット識別子。

  • プロパティ

    更新するプロパティ。

  • 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 イベントが生成されなくなります。

パラメータ