説明
chrome.sockets.udp
API を使用して、UDP 接続でネットワーク経由でデータを送受信します。この API は、以前の「socket」API にあった UDP 機能に代わるものです。
マニフェスト
型
CreateInfo
プロパティ
-
socketId
数値
新しく作成されたソケットの ID。この API から作成されたソケット ID は、非推奨の
[
socket](../socket/)
API など、他の API から作成されたソケット ID と互換性がないことに注意してください。
DnsQueryType
DNS 解決の設定。デフォルトは any
で、現在の OS 構成を使用します。これにより、IPv4 または IPv6 が返される可能性があります。ipv4
は IPv4 を強制し、ipv6
は IPv6 を強制します。
列挙型
"any"
"ipv4"
"ipv6"
ReceiveErrorInfo
プロパティ
-
resultCode
数値
基盤となる recvfrom() 呼び出しから返された結果コード。
-
socketId
数値
ソケット ID。
ReceiveInfo
プロパティ
-
データ
ArrayBuffer
UDP パケットの内容(現在のバッファサイズに切り捨てられます)。
-
remoteAddress
文字列
パケットの送信元ホストのアドレス。
-
remotePort
数値
パケットの送信元ホストのポート。
-
socketId
数値
ソケット ID。
SendInfo
プロパティ
-
bytesSent
number 省略可
送信されたバイト数(result == 0 の場合)
-
resultCode
数値
基盤となるネットワーク呼び出しから返された結果コード。負の値はエラーを示します。
SocketInfo
プロパティ
-
bufferSize
number 省略可
データの受信に使用されるバッファのサイズ。バッファサイズが明示的に指定されていない場合、値は提供されません。
-
localAddress
文字列 省略可
基盤となるソケットがバインドされている場合は、そのローカル IPv4/6 アドレスが含まれます。
-
localPort
number 省略可
基盤となるソケットがバインドされている場合、そのローカルポートが含まれます。
-
name
文字列 省略可
ソケットに関連付けられたアプリケーション定義の文字列。
-
一時停止
ブール値
ソケットが onReceive イベントの起動をブロックされているかどうかを示すフラグ。
-
永続
ブール値
アプリケーションが一時停止されたときにソケットが開いたままになるかどうかを示すフラグ(
SocketProperties.persistent
を参照)。 -
socketId
数値
ソケット ID。
SocketProperties
プロパティ
-
bufferSize
number 省略可
データの受信に使用されるバッファのサイズ。バッファが小さすぎて UDP パケットを受信できない場合、データは失われます。デフォルト値は 4096 です。
-
name
文字列 省略可
ソケットに関連付けられたアプリケーション定義の文字列。
-
永続
ブール値(省略可)
アプリケーションのイベントページがアンロードされたときにソケットが開いたままになるかどうかを示すフラグ(アプリのライフサイクルを管理するを参照)。デフォルト値は「false」です。アプリケーションが読み込まれると、persistent=true で以前に開いたソケットは
getSockets
で取得できます。
メソッド
bind()
chrome.sockets.udp.bind(
socketId: number,
address: string,
port: number,
callback: function,
): void
ソケットのローカル アドレスとポートをバインドします。クライアント ソケットの場合は、ポート 0 を使用して、プラットフォームに空きポートを選択させることをおすすめします。
bind
オペレーションが正常に完了すると、ソケットが一時停止されていない限り、指定されたアドレス/ポートに UDP パケットが到着したときに onReceive
イベントが発生します。
パラメータ
-
socketId
数値
ソケット ID。
-
住所
文字列
ローカル マシンのアドレス。DNS 名、IPv4、IPv6 の形式がサポートされています。使用可能なすべてのローカル ネットワーク インターフェースからパケットを受け入れるには、「0.0.0.0」を使用します。
-
ポート
数値
ローカルマシンのポート。空きポートにバインドするには、「0」を使用します。
-
callback
関数
callback
パラメータは次のようになります。(result: number) => void
-
件の結果
数値
基盤となるネットワーク呼び出しから返された結果コード。負の値はエラーを示します。
-
close()
chrome.sockets.udp.close(
socketId: number,
callback?: function,
): Promise<void>
ソケットを閉じ、ソケットがバインドされているアドレス/ポートを解放します。作成された各ソケットは、使用後に閉じる必要があります。関数が呼び出されると、ソケット ID は無効になります。ただし、ソケットが閉じられるのは、コールバックが呼び出されたときのみです。
パラメータ
-
socketId
数値
ソケット ID。
-
callback
関数 省略可
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 121 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
create()
chrome.sockets.udp.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
指定されたプロパティで UDP ソケットを作成します。
パラメータ
-
プロパティ
SocketProperties 省略可
ソケット プロパティ(省略可)。
-
callback
関数 省略可
callback
パラメータは次のようになります。(createInfo: CreateInfo) => void
-
createInfo
ソケット作成の結果。
-
戻り値
-
Promise<CreateInfo>
Chrome 121 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
getInfo()
chrome.sockets.udp.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
指定されたソケットの状態を取得します。
パラメータ
-
socketId
数値
ソケット ID。
-
callback
関数 省略可
callback
パラメータは次のようになります。(socketInfo: SocketInfo) => void
-
socketInfo
ソケット情報を含むオブジェクト。
-
戻り値
-
Promise<SocketInfo>
Chrome 121 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
getJoinedGroups()
chrome.sockets.udp.getJoinedGroups(
socketId: number,
callback?: function,
): Promise<string[]>
ソケットが現在参加しているマルチキャスト グループ アドレスを取得します。
パラメータ
-
socketId
数値
ソケット ID。
-
callback
関数 省略可
callback
パラメータは次のようになります。(groups: string[]) => void
-
グループ
string[]
ソケットが参加したグループの配列。
-
戻り値
-
Promise<string[]>
Chrome 121 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
getSockets()
chrome.sockets.udp.getSockets(
callback?: function,
): Promise<SocketInfo[]>
アプリケーションが所有する現在開いているソケットのリストを取得します。
パラメータ
-
callback
関数 省略可
callback
パラメータは次のようになります。(socketInfos: SocketInfo[]) => void
-
socketInfos
ソケット情報を含むオブジェクトの配列。
-
戻り値
-
Promise<SocketInfo[]>
Chrome 121 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
joinGroup()
chrome.sockets.udp.joinGroup(
socketId: number,
address: string,
callback: function,
): void
マルチキャスト グループに参加し、そのグループからのパケットの受信を開始します。このメソッドを呼び出す前に、ソケットをローカルポートにバインドする必要があります。
パラメータ
-
socketId
数値
ソケット ID。
-
住所
文字列
参加するグループ アドレス。ドメイン名はサポートされていません。
-
callback
関数
callback
パラメータは次のようになります。(result: number) => void
-
件の結果
数値
基盤となるネットワーク呼び出しから返された結果コード。負の値はエラーを示します。
-
leaveGroup()
chrome.sockets.udp.leaveGroup(
socketId: number,
address: string,
callback: function,
): void
joinGroup
を使用して以前に参加したマルチキャスト グループから離脱します。これは、ソケットを後で引き続き使用する場合にのみ呼び出す必要があります。ソケットが閉じられると、OS によって自動的に実行されるためです。
グループから離脱すると、ホスト上の他のプロセスがグループにまだ参加していない場合、ルーターはローカルホストにマルチキャスト データグラムを送信しなくなります。
パラメータ
-
socketId
数値
ソケット ID。
-
住所
文字列
退会するグループ アドレス。ドメイン名はサポートされていません。
-
callback
関数
callback
パラメータは次のようになります。(result: number) => void
-
件の結果
数値
基盤となるネットワーク呼び出しから返された結果コード。負の値はエラーを示します。
-
send()
chrome.sockets.udp.send(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
dnsQueryType?: DnsQueryType,
callback: function,
): void
指定されたソケットのデータを指定されたアドレスとポートに送信します。このメソッドを呼び出す前に、ソケットをローカルポートにバインドする必要があります。
パラメータ
-
socketId
数値
ソケット ID。
-
データ
ArrayBuffer
送信するデータ。
-
住所
文字列
リモート マシンのアドレス。
-
ポート
数値
リモート マシンのポート。
-
dnsQueryType
DnsQueryType 省略可
Chrome 103 以降アドレス解決の設定。
-
callback
関数
callback
パラメータは次のようになります。(sendInfo: SendInfo) => void
-
sendInfo
send
メソッドの結果。
-
setBroadcast()
chrome.sockets.udp.setBroadcast(
socketId: number,
enabled: boolean,
callback: function,
): void
このソケットでブロードキャスト パケットを有効または無効にします。
パラメータ
-
socketId
数値
ソケット ID。
-
有効
ブール値
ブロードキャスト パケットを有効にするには
true
、無効にするにはfalse
。 -
callback
関数
callback
パラメータは次のようになります。(result: number) => void
-
件の結果
数値
基盤となるネットワーク呼び出しから返された結果コード。
-
setMulticastLoopbackMode()
chrome.sockets.udp.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
): void
ホストからマルチキャスト グループに送信されたマルチキャスト パケットをホストにループバックするかどうかを設定します。
注: setMulticastLoopbackMode
の動作は、Windows と Unix 系のシステムで若干異なります。この不整合は、同じホスト上の複数のアプリケーションが同じマルチキャスト グループに参加し、マルチキャスト ループバック モードの設定が異なる場合にのみ発生します。Windows では、ループバックがオフになっているアプリはループバック パケットを受信しません。Unix 系のシステムでは、ループバックがオフになっているアプリは同じホスト上の他のアプリにループバック パケットを送信しません。MSDN: https://learn.microsoft.com/en-us/windows/win32/winsock/ip-multicast-2 を参照してください。
このメソッドの呼び出しにマルチキャスト権限は必要ありません。
パラメータ
-
socketId
数値
ソケット ID。
-
有効
ブール値
ループバック モードを有効にするかどうかを示します。
-
callback
関数
callback
パラメータは次のようになります。(result: number) => void
-
件の結果
数値
基盤となるネットワーク呼び出しから返された結果コード。負の値はエラーを示します。
-
setMulticastTimeToLive()
chrome.sockets.udp.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
): void
マルチキャスト グループに送信されるマルチキャスト パケットの存続時間(TTL)を設定します。
このメソッドの呼び出しにマルチキャスト権限は必要ありません。
パラメータ
-
socketId
数値
ソケット ID。
-
ttl
数値
有効期間の値。
-
callback
関数
callback
パラメータは次のようになります。(result: number) => void
-
件の結果
数値
基盤となるネットワーク呼び出しから返された結果コード。負の値はエラーを示します。
-
setPaused()
chrome.sockets.udp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
ソケットを一時停止または一時停止解除します。一時停止されたソケットは、onReceive
イベントを発生させることができません。
パラメータ
-
socketId
数値
-
一時停止
ブール値
一時停止または一時停止解除を行うかどうかを示すフラグ。
-
callback
関数 省略可
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 121 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
update()
chrome.sockets.udp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
ソケットのプロパティを更新します。
パラメータ
-
socketId
数値
ソケット ID。
-
プロパティ
更新するプロパティ。
-
callback
関数 省略可
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 121 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
イベント
onReceive
chrome.sockets.udp.onReceive.addListener(
callback: function,
)
指定されたソケットで UDP パケットが受信されたときに発生するイベント。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(info: ReceiveInfo) => void
-
情報
-
onReceiveError
chrome.sockets.udp.onReceiveError.addListener(
callback: function,
)
ランタイムがソケット アドレスとポートでデータを待機している間にネットワーク エラーが発生した場合に発生するイベント。このイベントが発生すると、ソケットは一時停止され、ソケットが再開されるまで、このソケットに対して onReceive
イベントは発生しません。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(info: ReceiveErrorInfo) => void