説明
chrome.bluetoothSocket API を使用して、RFCOMM 接続と L2CAP 接続を使用して 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()
chrome.bluetoothSocket.close(
socketId: number,
callback?: function,
): Promise<void>
ソケットを切断して破棄します。作成したソケットは、使用後に閉じる必要があります。関数が呼び出されるとすぐに、ソケット ID は無効になります。ただし、ソケットが閉じられることが保証されるのは、コールバックが呼び出されたときのみです。
パラメータ
-
socketId
数値
ソケット識別子。
-
callback
function 省略可
callbackパラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 91 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
connect()
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()
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()
chrome.bluetoothSocket.disconnect(
socketId: number,
callback?: function,
): Promise<void>
ソケットを切断します。ソケット識別子は引き続き有効です。
パラメータ
-
socketId
数値
ソケット識別子。
-
callback
function 省略可
callbackパラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 91 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getInfo()
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()
chrome.bluetoothSocket.getSockets(
callback?: function,
): Promise<SocketInfo[]>
アプリケーションが所有する、現在開いているソケットのリストを取得します。
パラメータ
-
callback
function 省略可
callbackパラメータは次のようになります。(sockets: SocketInfo[]) => void
-
ソケット
ソケット情報を含むオブジェクトの配列。
-
戻り値
-
Promise<SocketInfo[]>
Chrome 91 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
listenUsingL2cap()
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()
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()
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()
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()
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 イベントは発生しなくなります。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(info: AcceptErrorInfo) => void
onReceive
chrome.bluetoothSocket.onReceive.addListener(
callback: function,
)
特定のソケットのデータを受信したときに発生するイベント。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(info: ReceiveInfo) => void
-
情報
-
onReceiveError
chrome.bluetoothSocket.onReceiveError.addListener(
callback: function,
)
ランタイムがソケットでデータを待機しているときにネットワーク エラーが発生すると、イベントが発生します。このイベントが発生すると、ソケットは paused に設定され、このソケットに対して onReceive イベントは発生しなくなります。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(info: ReceiveErrorInfo) => void