説明
chrome.bluetoothSocket
API を使用して、RFCOMM 接続と L2CAP 接続を使用して 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()
chrome.bluetoothSocket.close(
socketId: number,
callback?: function,
)
ソケットを切断して破棄します。作成された各ソケットは、使用後に閉じる必要があります。ソケット ID は、関数が呼び出されるとすぐに無効になります。ただし、ソケットはコールバックが呼び出されたときにのみ閉じられることが保証されます。
パラメータ
-
socketId
数値
ソケット識別子。
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<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
数値
ソケット識別子。
-
address
文字列
Bluetooth デバイスのアドレス。
-
uuid
文字列
接続先のサービスの UUID。
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<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,
)
ソケットを切断します。ソケット識別子は引き続き有効です。
パラメータ
-
socketId
数値
ソケット識別子。
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 91 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
getInfo()
chrome.bluetoothSocket.getInfo(
socketId: number,
callback?: function,
)
指定されたソケットの状態を取得します。
パラメータ
-
socketId
数値
ソケット識別子。
-
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
数値
ソケット識別子。
-
uuid
文字列
リッスンするサービス UUID。
-
オプション
ListenOptions 省略可
サービスの追加オプション(省略可)。
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 91 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
listenUsingRfcomm()
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()
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()
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()
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
イベントが生成されなくなります。
パラメータ
-
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