説明
chrome.sockets.tcp
API を使用して、ネットワークに TCP 接続してデータを送受信します。この API は、以前 chrome.socket
API にあった TCP 機能に代わるものです。
マニフェスト
型
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
数値
基盤となるネットワーク呼び出しから返された結果コード。
-
socketId
数値
ソケット ID。
ReceiveInfo
プロパティ
-
データ
ArrayBuffer
受信したデータ。最大サイズは
bufferSize
です。 -
socketId
数値
ソケット ID。
SecureOptions
プロパティ
-
tlsVersion
SendInfo
プロパティ
-
bytesSent
number 省略可
送信されたバイト数(result == 0 の場合)
-
resultCode
数値
基盤となるネットワーク呼び出しから返された結果コード。負の値はエラーを示します。
SocketInfo
プロパティ
-
bufferSize
number 省略可
データの受信に使用されるバッファのサイズ。バッファサイズが明示的に指定されていない場合、値は提供されません。
-
接続済み
ブール値
ソケットがリモート ピアに接続されているかどうかを示すフラグ。
-
localAddress
文字列 省略可
基盤となるソケットが接続されている場合、そのローカル IPv4/6 アドレスが含まれます。
-
localPort
number 省略可
基盤となるソケットが接続されている場合は、ローカルポートが含まれます。
-
name
文字列 省略可
ソケットに関連付けられたアプリケーション定義の文字列。
-
一時停止
ブール値
接続されたソケットがピアによるデータの送信をブロックするかどうかを示すフラグ(
setPaused
を参照)。 -
peerAddress
文字列 省略可
基盤となるソケットが接続されている場合は、ピア/ IPv4/6 アドレスが含まれます。
-
peerPort
number 省略可
基盤となるソケットが接続されている場合、ピアポートが含まれます。
-
永続
ブール値
アプリケーションが一時停止されたときにソケットが開いたままになるかどうかを示すフラグ(
SocketProperties.persistent
を参照)。 -
socketId
数値
ソケット ID。
SocketProperties
プロパティ
-
bufferSize
number 省略可
データの受信に使用されるバッファのサイズ。デフォルト値は 4096 です。
-
name
文字列 省略可
ソケットに関連付けられたアプリケーション定義の文字列。
-
永続
ブール値(省略可)
アプリケーションのイベントページがアンロードされたときにソケットが開いたままになるかどうかを示すフラグ(アプリのライフサイクルを管理するを参照)。デフォルト値は「false」です。アプリケーションが読み込まれると、persistent=true で以前に開いたソケットは
getSockets
で取得できます。
TLSVersionConstraints
プロパティ
-
最大
文字列 省略可
-
分
文字列 省略可
TLS の最小許容バージョンと最大許容バージョン。指定できる値は
tls1.2
またはtls1.3
です。値
tls1
とtls1.1
はサポートされなくなりました。min
がこれらの値のいずれかに設定されている場合、tls1.2
にサイレント クランプされます。max
がこれらの値のいずれか、または認識できない他の値に設定されている場合、その値は無視されます。
メソッド
close()
chrome.sockets.tcp.close(
socketId: number,
callback?: function,
): Promise<void>
ソケットを閉じ、ソケットがバインドされているアドレス/ポートを解放します。作成された各ソケットは、使用後に閉じる必要があります。関数が呼び出されるとすぐに、ソケット ID は無効になります。ただし、ソケットが閉じられるのは、コールバックが呼び出されたときのみです。
パラメータ
-
socketId
数値
ソケット ID。
-
callback
関数 省略可
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 121 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
connect()
chrome.sockets.tcp.connect(
socketId: number,
peerAddress: string,
peerPort: number,
dnsQueryType?: DnsQueryType,
callback: function,
): void
ソケットをリモートマシンに接続します。connect
オペレーションが正常に完了すると、ピアからデータを受信したときに onReceive
イベントが発生します。ランタイムがパケットを受信しているときにネットワーク エラーが発生すると、onReceiveError
イベントが発生します。この時点で、resume
メソッドが呼び出されるまで、このソケットに対して onReceive
イベントは発生しません。
パラメータ
-
socketId
数値
ソケット ID。
-
peerAddress
文字列
リモート マシンのアドレス。DNS 名、IPv4 形式、IPv6 形式がサポートされています。
-
peerPort
数値
リモート マシンのポート。
-
dnsQueryType
DnsQueryType 省略可
Chrome 103 以降アドレス解決の設定。
-
callback
関数
callback
パラメータは次のようになります。(result: number) => void
-
件の結果
数値
基盤となるネットワーク呼び出しから返された結果コード。負の値はエラーを示します。
-
create()
chrome.sockets.tcp.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
TCP ソケットを作成します。
パラメータ
-
プロパティ
SocketProperties 省略可
ソケット プロパティ(省略可)。
-
callback
関数 省略可
callback
パラメータは次のようになります。(createInfo: CreateInfo) => void
-
createInfo
ソケット作成の結果。
-
戻り値
-
Promise<CreateInfo>
Chrome 121 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
disconnect()
chrome.sockets.tcp.disconnect(
socketId: number,
callback?: function,
): Promise<void>
ソケットを切断します。
パラメータ
-
socketId
数値
ソケット ID。
-
callback
関数 省略可
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 121 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
getInfo()
chrome.sockets.tcp.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
指定されたソケットの状態を取得します。
パラメータ
-
socketId
数値
ソケット ID。
-
callback
関数 省略可
callback
パラメータは次のようになります。(socketInfo: SocketInfo) => void
-
socketInfo
ソケット情報を含むオブジェクト。
-
戻り値
-
Promise<SocketInfo>
Chrome 121 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
getSockets()
chrome.sockets.tcp.getSockets(
callback?: function,
): Promise<SocketInfo[]>
アプリケーションが所有する現在開いているソケットのリストを取得します。
パラメータ
-
callback
関数 省略可
callback
パラメータは次のようになります。(socketInfos: SocketInfo[]) => void
-
socketInfos
ソケット情報を含むオブジェクトの配列。
-
戻り値
-
Promise<SocketInfo[]>
Chrome 121 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
secure()
chrome.sockets.tcp.secure(
socketId: number,
options?: SecureOptions,
callback: function,
): void
接続された TCP クライアント ソケットを介して TLS クライアント接続を開始します。
パラメータ
-
socketId
数値
使用する既存の接続済みソケット。
-
オプション
SecureOptions 省略可
TLS 接続の制約とパラメータ。
-
callback
関数
callback
パラメータは次のようになります。(result: number) => void
-
件の結果
数値
-
send()
chrome.sockets.tcp.send(
socketId: number,
data: ArrayBuffer,
callback: function,
): void
指定された TCP ソケットでデータを送信します。
パラメータ
-
socketId
数値
ソケット ID。
-
データ
ArrayBuffer
送信するデータ。
-
callback
関数
callback
パラメータは次のようになります。(sendInfo: SendInfo) => void
-
sendInfo
send
メソッドの結果。
-
setKeepAlive()
chrome.sockets.tcp.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
): void
TCP 接続のキープアライブ機能を有効または無効にします。
パラメータ
-
socketId
数値
ソケット ID。
-
有効にする
ブール値
true の場合、キープアライブ機能を有効にします。
-
delay
number 省略可
最後に受信したデータ パケットと最初のキープアライブ プローブの間の遅延時間(秒単位)を設定します。デフォルトは 0 です。
-
callback
関数
callback
パラメータは次のようになります。(result: number) => void
-
件の結果
数値
基盤となるネットワーク呼び出しから返された結果コード。負の値はエラーを示します。
-
setNoDelay()
chrome.sockets.tcp.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
): void
TCP 接続の TCP_NODELAY
を設定またはクリアします。TCP_NODELAY
が設定されている場合、Nagle のアルゴリズムは無効になります。
パラメータ
-
socketId
数値
ソケット ID。
-
noDelay
ブール値
true の場合、Nagle のアルゴリズムを無効にします。
-
callback
関数
callback
パラメータは次のようになります。(result: number) => void
-
件の結果
数値
基盤となるネットワーク呼び出しから返された結果コード。負の値はエラーを示します。
-
setPaused()
chrome.sockets.tcp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
アプリケーションがピアからメッセージを受信することを有効または無効にします。デフォルト値は「false」です。通常、ソケットの一時停止は、ピアから送信されたデータをスロットリングするためにアプリケーションによって使用されます。ソケットが一時停止されると、onReceive
イベントは発生しません。ソケットが接続されて一時停止が解除されると、メッセージを受信したときに onReceive
イベントが再び発生します。
パラメータ
-
socketId
数値
-
一時停止
ブール値
-
callback
関数 省略可
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 121 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
update()
chrome.sockets.tcp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
ソケットのプロパティを更新します。
パラメータ
-
socketId
数値
ソケット ID。
-
プロパティ
更新するプロパティ。
-
callback
関数 省略可
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 121 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
イベント
onReceive
chrome.sockets.tcp.onReceive.addListener(
callback: function,
)
特定のソケットのデータを受信したときに発生するイベント。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(info: ReceiveInfo) => void
-
情報
-
onReceiveError
chrome.sockets.tcp.onReceiveError.addListener(
callback: function,
)
ランタイムがソケット アドレスとポートでデータを待機している間にネットワーク エラーが発生した場合に発生するイベント。このイベントが発生すると、ソケットは paused
に設定され、このソケットに対して onReceive
イベントは発生しなくなります。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(info: ReceiveErrorInfo) => void