chrome.bluetoothSocket

説明

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

マニフェスト

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

"bluetooth"

AcceptError

列挙型

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

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

AcceptErrorInfo

プロパティ

  • エラー

    エラーの原因を示すエラーコード。

  • errorMessage

    文字列

    エラー メッセージ。

  • socketId

    数値

    サーバー ソケット ID。

AcceptInfo

プロパティ

  • clientSocketId

    数値

    クライアント ソケット ID(新しく確立された接続のソケット ID)。このソケット識別子は、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,
)

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

パラメータ

  • socketId

    数値

    ソケット ID。

  • callback

    function 省略可

    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

    数値

    ソケット ID。

  • 住所

    文字列

    Bluetooth デバイスのアドレス。

  • uuid

    文字列

    接続するサービスの UUID。

  • callback

    function 省略可

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

    () => void

戻り値

  • Promise<void>

    Chrome 91 以降

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

create()

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

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

パラメータ

  • プロパティ

    SocketProperties 省略可

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

  • callback

    function 省略可

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

    (createInfo: CreateInfo) => void

    • createInfo

      ソケットの作成結果。

戻り値

  • Promise<CreateInfo>

    Chrome 91 以降

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

disconnect()

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

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

パラメータ

  • socketId

    数値

    ソケット ID。

  • callback

    function 省略可

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

    () => void

戻り値

  • Promise<void>

    Chrome 91 以降

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

getInfo()

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

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

パラメータ

  • socketId

    数値

    ソケット ID。

  • callback

    function 省略可

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

    (socketInfo: SocketInfo) => void

    • socketInfo

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

戻り値

  • Promise<SocketInfo>

    Chrome 91 以降

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

getSockets()

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

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

パラメータ

  • callback

    function 省略可

    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

    数値

    ソケット ID。

  • uuid

    文字列

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

  • オプション

    ListenOptions 省略可

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

  • callback

    function 省略可

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

    () => void

戻り値

  • Promise<void>

    Chrome 91 以降

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

listenUsingRfcomm()

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

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

パラメータ

  • socketId

    数値

    ソケット ID。

  • uuid

    文字列

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

  • オプション

    ListenOptions 省略可

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

  • callback

    function 省略可

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

    () => void

戻り値

  • Promise<void>

    Chrome 91 以降

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

send()

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

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

パラメータ

  • socketId

    数値

    ソケット ID。

  • データ

    ArrayBuffer

    送信するデータ。

  • callback

    function 省略可

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

    (bytesSent: number) => void

    • bytesSent

      数値

      送信されたバイト数。

戻り値

  • Promise<number>

    Chrome 91 以降

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

setPaused()

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

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

パラメータ

  • socketId

    数値

  • 一時停止

    ブール値

  • callback

    function 省略可

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

    () => void

戻り値

  • Promise<void>

    Chrome 91 以降

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

update()

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

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

パラメータ

  • socketId

    数値

    ソケット ID。

  • プロパティ

    更新するプロパティ。

  • callback

    function 省略可

    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 イベントは発生しなくなります。

パラメータ