chrome.bluetoothSocket

説明

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

対象

ChromeOS のみ

マニフェスト

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

"bluetooth"

型

AcceptError

列挙型

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

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

AcceptErrorInfo

プロパティ

  • エラー

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

  • 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

列挙型

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

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

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

ReceiveErrorInfo

プロパティ

  • エラー

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

  • errorMessage

    文字列

    エラー メッセージ。

  • socketId

    数値

    ソケット識別子。

ReceiveInfo

プロパティ

  • データ

    ArrayBuffer

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

  • socketId

    数値

    ソケット識別子。

SocketInfo

プロパティ

  • 住所

    文字列 省略可

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

  • bufferSize

    number 省略可

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

  • 接続済み

    ブール値

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

  • name

    文字列 省略可

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

  • 一時停止

    ブール値

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

  • 永続

    ブール値

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

  • socketId

    数値

    ソケット識別子。

  • uuid

    文字列 省略可

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

SocketProperties

プロパティ

  • bufferSize

    number 省略可

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

  • name

    文字列 省略可

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

  • 永続

    boolean 省略可

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

メソッド

close()

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

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

パラメータ

  • socketId

    数値

    ソケット識別子。

  • callback

    function 省略可

    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

    数値

    ソケット識別子。

  • 住所

    文字列

    Bluetooth デバイスのアドレス。

  • uuid

    文字列

    接続先のサービスの UUID。

  • callback

    function 省略可

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

    () => void

戻り値

  • Promise<void>

    Chrome 91 以降

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

create()

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

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,
)
: Promise<void>

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

パラメータ

  • socketId

    数値

    ソケット識別子。

  • callback

    function 省略可

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

    () => void

戻り値

  • Promise<void>

    Chrome 91 以降

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

getInfo()

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

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

パラメータ

  • socketId

    数値

    ソケット識別子。

  • callback

    function 省略可

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

    (socketInfo: SocketInfo) => void

    • socketInfo

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

戻り値

  • Promise<SocketInfo>

    Chrome 91 以降

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

getSockets()

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

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

パラメータ

  • 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,
)
: Promise<void>

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

パラメータ

  • socketId

    数値

    ソケット識別子。

  • 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,
)
: Promise<void>

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

パラメータ

  • socketId

    数値

    ソケット識別子。

  • 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,
)
: Promise<number>

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

パラメータ

  • socketId

    数値

    ソケット識別子。

  • データ

    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,
)
: Promise<void>

接続されたソケットがピアからメッセージを受信できるようにするか、リスニング ソケットが新しい接続を受け入れるようにするかを有効または無効にします。デフォルト値は「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,
)
: Promise<void>

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

パラメータ

  • socketId

    数値

    ソケット識別子。

  • プロパティ

    更新するプロパティ。

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

パラメータ