説明
chrome.bluetoothSocket
API を使用して、RFCOMM 接続と L2CAP 接続を使用して 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()
chrome.bluetoothSocket.close(
socketId: number,
callback?: function,
)
ソケットを切断して破棄します。作成した各ソケットは、使用後に閉じる必要があります。関数が呼び出されるとすぐに、ソケット ID は無効になります。ただし、ソケットが確実に閉じられるのは、コールバックが呼び出されたときのみです。
パラメータ
-
socketId
数値
ソケット ID。
-
callback
function 省略可
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
数値
ソケット ID。
-
住所
文字列
Bluetooth デバイスのアドレス。
-
uuid
文字列
接続するサービスの UUID。
-
callback
function 省略可
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 91 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
create()
chrome.bluetoothSocket.create(
properties?: SocketProperties,
callback?: function,
)
Bluetooth ソケットを作成します。
パラメータ
-
プロパティ
SocketProperties 省略可
ソケット プロパティ(省略可)。
-
callback
function 省略可
callback
パラメータは次のようになります。(createInfo: CreateInfo) => void
-
createInfo
ソケットの作成結果。
-
戻り値
-
Promise<CreateInfo>
Chrome 91 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
disconnect()
chrome.bluetoothSocket.disconnect(
socketId: number,
callback?: function,
)
ソケットを切断します。ソケット ID は有効なままです。
パラメータ
-
socketId
数値
ソケット ID。
-
callback
function 省略可
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 91 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getInfo()
chrome.bluetoothSocket.getInfo(
socketId: number,
callback?: function,
)
指定されたソケットの状態を取得します。
パラメータ
-
socketId
数値
ソケット ID。
-
callback
function 省略可
callback
パラメータは次のようになります。(socketInfo: SocketInfo) => void
-
socketInfo
ソケット情報を含むオブジェクト。
-
戻り値
-
Promise<SocketInfo>
Chrome 91 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getSockets()
chrome.bluetoothSocket.getSockets(
callback?: function,
)
アプリケーションが所有する現在開いているソケットのリストを取得します。
パラメータ
-
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,
)
L2CAP プロトコルを使用して接続をリッスンします。
パラメータ
-
socketId
数値
ソケット ID。
-
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,
)
RFCOMM プロトコルを使用して接続をリッスンします。
パラメータ
-
socketId
数値
ソケット ID。
-
uuid
文字列
リッスンするサービス UUID。
-
オプション
ListenOptions 省略可
サービスの追加オプション(省略可)。
-
callback
function 省略可
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 91 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
send()
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()
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()
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
イベントは発生しなくなります。
パラメータ
-
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