説明
chrome.bluetoothSocket
API を使用すると、RFCOMM 接続と L2CAP 接続を使用して Bluetooth デバイスとの間でデータを送受信できます。
マニフェスト
型
AcceptError
列挙型
"system_error"
システムエラーが発生したため、接続を復元できない可能性があります。
"not_listening"
ソケットがリッスンしていません。
AcceptErrorInfo
プロパティ
-
エラー
問題の内容を示すエラーコード。
-
errorMessage
文字列
エラー メッセージ。
-
socketId
数値
サーバー ソケット ID。
AcceptInfo
プロパティ
-
clientSocketId
数値
クライアント ソケット識別子。つまり、新しく確立された接続のソケット識別子です。このソケット ID は
chrome.bluetoothSocket
名前空間の関数でのみ使用する必要があります。クライアント ソケットは最初は一時停止されていますが、データの受信を開始するには、アプリケーションによって明示的に一時停止を解除する必要があります。 -
socketId
数値
サーバー ソケット ID。
CreateInfo
プロパティ
-
socketId
数値
新しく作成されたソケットの ID。この API で作成されたソケット ID は、
[
sockets.tcp](../sockets_tcp/)
API など、他の API から作成されたソケット ID と互換性がないことに注意してください。
ListenOptions
プロパティ
-
バックログ
数値(省略可)
ソケットのリッスン キューの長さ。デフォルト値は、オペレーティング システムのホスト サブシステムによって異なります。
-
チャンネル
数値(省略可)
listenUsingRfcomm
が使用する RFCOMM チャネル。指定する場合、このチャネルは以前に使用されていないものである必要があります。使用されていない場合、メソッド呼び出しは失敗します。指定しない場合、未使用のチャネルが自動的に割り当てられます。 -
PSM
数値(省略可)
listenUsingL2cap
が使用する L2CAP PSM。指定する場合、この PSM は以前に使用されていないこと、またはメソッド呼び出しが失敗することがあります。指定しない場合、未使用の PSM が自動的に割り当てられます。
ReceiveError
列挙型
"disconnected"
接続が切断されました。
"system_error"
システムエラーが発生したため、接続を復元できない可能性があります。
"not_connected"
ソケットが接続されていません。
ReceiveErrorInfo
プロパティ
-
エラー
問題の内容を示すエラーコード。
-
errorMessage
文字列
エラー メッセージ。
-
socketId
数値
ソケット ID。
ReceiveInfo
プロパティ
-
データ
ArrayBuffer
受信データ。最大サイズは
bufferSize
です。 -
socketId
数値
ソケット ID。
SocketInfo
プロパティ
-
住所
文字列(省略可)
基になるソケットが接続されている場合に、接続先のデバイスの Bluetooth アドレスが格納されます。
-
bufferSize
数値(省略可)
データの受信に使用されるバッファのサイズ。バッファサイズが明示的に指定されていない場合、値は提供されません。
-
接続済み
ブール値
ソケットがリモートピアに接続されているかどうかを示すフラグ。
-
name
文字列(省略可)
ソケットに関連付けられている、アプリケーション定義の文字列。
-
一時停止
ブール値
接続されたソケットがピアからのそれ以上のデータ送信をブロックしているかどうか、リスニング ソケットの接続リクエストが
onAccept
イベントによってディスパッチされるか、リッスンキュー バックログのキューに入れられたかを示すフラグ。setPaused
をご覧ください。デフォルト値は「False」です。 -
永続
ブール値
アプリのイベントページがアンロードされたとき、ソケットが開いたままであるかどうかを示すフラグ(
SocketProperties.persistent
を参照)。デフォルト値は「false」です。 -
socketId
数値
ソケット ID。
-
uuid
文字列(省略可)
基になるソケットが接続されている場合は、接続先のサービス UUID に関する情報が含まれます。基になるソケットがリッスンしている場合は、リッスンしているサービス UUID に関する情報が含まれます。
SocketProperties
プロパティ
-
bufferSize
数値(省略可)
データの受信に使用されるバッファのサイズ。デフォルト値は 4096 です。
-
name
文字列(省略可)
ソケットに関連付けられている、アプリケーション定義の文字列。
-
永続
ブール値(省略可)
アプリのイベントページがアンロードされたときにソケットが開いたままになっているかどうかを示すフラグ(アプリのライフサイクルを管理するをご覧ください)。デフォルト値は
false.
です。アプリケーションが読み込まれると、以前に Persistent=true を指定して開いたソケットはgetSockets
でフェッチできます。
メソッド
close()
chrome.bluetoothSocket.close(
socketId: number,
callback?: function,
)
ソケットを切断して破棄します。作成された各ソケットは使用後に閉じる必要があります。関数が呼び出されるとすぐにソケット ID は無効になります。ただし、コールバックが呼び出されたときにのみソケットが閉じることが保証されます。
パラメータ
-
socketId
数値
ソケット ID。
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Chrome 91 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
connect()
chrome.bluetoothSocket.connect(
socketId: number,
address: string,
uuid: string,
callback?: function,
)
リモート Bluetooth デバイスにソケットを接続します。connect
オペレーションが正常に完了すると、ピアからデータを受信したときに onReceive
イベントが発生します。ランタイムがパケットを受信中にネットワーク エラーが発生すると、onReceiveError
イベントが発生します。この時点で、setPaused(false)
メソッドが呼び出されるまで、このソケットの onReceive
イベントは発生しません。
パラメータ
-
socketId
数値
ソケット ID。
-
住所
文字列
Bluetooth デバイスのアドレスです。
-
uuid
文字列
接続先のサービスの UUID。
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Chrome 91 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
create()
chrome.bluetoothSocket.create(
properties?: SocketProperties,
callback?: function,
)
Bluetooth ソケットを作成します。
パラメータ
-
プロパティ
SocketProperties オプション
ソケットのプロパティ(省略可)。
-
callback
関数(省略可)
callback
パラメータは次のようになります。(createInfo: CreateInfo) => void
-
createInfo
ソケット作成の結果。
-
戻り値
-
Promise<CreateInfo>
Chrome 91 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
disconnect()
chrome.bluetoothSocket.disconnect(
socketId: number,
callback?: function,
)
ソケットを切断します。ソケット ID は引き続き有効です。
パラメータ
-
socketId
数値
ソケット ID。
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Chrome 91 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getInfo()
chrome.bluetoothSocket.getInfo(
socketId: number,
callback?: function,
)
指定したソケットの状態を取得します。
パラメータ
-
socketId
数値
ソケット ID。
-
callback
関数(省略可)
callback
パラメータは次のようになります。(socketInfo: SocketInfo) => void
-
socketInfo
ソケット情報を含むオブジェクト。
-
戻り値
-
Promise<SocketInfo>
Chrome 91 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getSockets()
chrome.bluetoothSocket.getSockets(
callback?: function,
)
アプリケーションが所有する、現在開いているソケットのリストを取得します。
パラメータ
-
callback
関数(省略可)
callback
パラメータは次のようになります。(sockets: SocketInfo[]) => void
-
ソケット
-
戻り値
-
Promise<SocketInfo[]>
Chrome 91 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
listenUsingL2cap()
chrome.bluetoothSocket.listenUsingL2cap(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
)
L2CAP プロトコルを使用して接続をリッスンします。
パラメータ
-
socketId
数値
ソケット ID。
-
uuid
文字列
リッスンするサービス UUID。
-
オプション
ListenOptions(省略可)
サービスの追加オプション(省略可)。
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Chrome 91 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
listenUsingRfcomm()
chrome.bluetoothSocket.listenUsingRfcomm(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
)
RFCOMM プロトコルを使用して接続をリッスンします。
パラメータ
-
socketId
数値
ソケット ID。
-
uuid
文字列
リッスンするサービス UUID。
-
オプション
ListenOptions(省略可)
サービスの追加オプション(省略可)。
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Chrome 91 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
send()
chrome.bluetoothSocket.send(
socketId: number,
data: ArrayBuffer,
callback?: function,
)
指定した Bluetooth ソケットでデータを送信します。
パラメータ
-
socketId
数値
ソケット ID。
-
データ
ArrayBuffer
送信するデータ。
-
callback
関数(省略可)
callback
パラメータは次のようになります。(bytesSent: number) => void
-
bytesSent
数値
送信されたバイト数。
-
戻り値
-
Promise<number>
Chrome 91 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
setPaused()
chrome.bluetoothSocket.setPaused(
socketId: number,
paused: boolean,
callback?: function,
)
接続されたソケットがピアからメッセージを受信すること、またはリスニング ソケットが新しい接続を受け入れることを有効または無効にします。デフォルト値は「false」です。接続されているソケットを一時停止すると、アプリケーションはピアから送信されたデータを抑制するために通常使用されます。接続されたソケットが一時停止すると、onReceive
イベントは発生しません。ソケットが接続され、一時停止が解除されると、メッセージを受信すると、再び onReceive
イベントが発生します。リスニング ソケットが一時停止すると、バックログがいっぱいになるまで新しい接続が受け入れられ、追加の接続要求は拒否されます。onAccept
イベントは、ソケットの一時停止が解除されたときにのみ発生します。
パラメータ
-
socketId
数値
-
一時停止
ブール値
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Chrome 91 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
update()
chrome.bluetoothSocket.update(
socketId: number,
properties: SocketProperties,
callback?: function,
)
ソケットのプロパティを更新します。
パラメータ
-
socketId
数値
ソケット ID。
-
プロパティ
更新するプロパティ。
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <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