chrome.sockets.tcp

説明

chrome.sockets.tcp API を使用して、TCP 接続を介してネットワーク上でデータを送受信します。この API は、以前に chrome.socket API にあった TCP 機能に代わるものです。

マニフェスト

この API を使用するには、次のキーをマニフェストで宣言する必要があります。

"sockets"

型

CreateInfo

プロパティ

  • socketId

    数値

    新しく作成されたソケットの ID。この API で作成されたソケット ID は、非推奨の [socket](../socket/) API など、他の API で作成されたソケット ID と互換性がありません。

DnsQueryType

Chrome 103 以降

DNS の解決の設定。デフォルトは any で、現在の OS 構成を使用します。この構成では、IPv4 または IPv6 が返される場合があります。ipv4 は IPv4 を強制し、ipv6 は IPv6 を強制します。

列挙型

「any」

"ipv4"

"ipv6"

ReceiveErrorInfo

プロパティ

  • resultCode

    数値

    基盤となるネットワーク呼び出しから返された結果コード。

  • socketId

    数値

    ソケット識別子。

ReceiveInfo

プロパティ

  • データ

    ArrayBuffer

    受信したデータ。最大サイズは bufferSize です。

  • socketId

    数値

    ソケット識別子。

SecureOptions

プロパティ

SendInfo

プロパティ

  • bytesSent

    number 省略可

    送信されたバイト数(result == 0 の場合)

  • resultCode

    数値

    基盤となるネットワーク呼び出しから返された結果コード。負の値はエラーを示します。

SocketInfo

プロパティ

  • bufferSize

    number 省略可

    データの受信に使用されるバッファのサイズ。バッファサイズが明示的に指定されていない場合、値は提供されません。

  • 接続済み

    ブール値

    ソケットがリモートピアに接続されているかどうかを示すフラグ。

  • localAddress

    文字列 省略可

    基盤となるソケットが接続されている場合は、そのローカル IPv4/6 アドレスが含まれます。

  • localPort

    number 省略可

    基盤となるソケットが接続されている場合は、そのローカルポートが含まれます。

  • name

    文字列 省略可

    ソケットに関連付けられたアプリケーション定義の文字列。

  • 一時停止

    ブール値

    接続されたソケットが、ピアによる追加データの送信をブロックするかどうかを示すフラグ(setPaused を参照)。

  • peerAddress

    文字列 省略可

    基盤となるソケットが接続されている場合は、ピア / IPv4/6 アドレスが含まれます。

  • peerPort

    number 省略可

    基盤となるソケットが接続されている場合、ピアポートが含まれます。

  • 永続

    ブール値

    アプリケーションが一時停止されたときにソケットを開いたままにするかどうかを示すフラグ(SocketProperties.persistent を参照)。

  • socketId

    数値

    ソケット識別子。

SocketProperties

プロパティ

  • bufferSize

    number 省略可

    データの受信に使用されるバッファのサイズ。デフォルト値は 4096 です。

  • name

    文字列 省略可

    ソケットに関連付けられたアプリケーション定義の文字列。

  • 永続

    boolean 省略可

    アプリケーションのイベントページがアンロードされたときにソケットを開いたままにするかどうかを示すフラグ(アプリのライフサイクルを管理するを参照)。デフォルト値は「false」です。アプリケーションが読み込まれると、persistent=true で以前に開かれたソケットを getSockets で取得できます。

TLSVersionConstraints

プロパティ

  • 最大

    文字列 省略可

  • 分

    文字列 省略可

    TLS の許容される最小バージョンと最大バージョン。指定できる値は tls1.2 または tls1.3 です。

    tls1 と tls1.1 の値はサポートされなくなりました。min がこれらの値のいずれかに設定されている場合、自動的に tls1.2 に固定されます。max がこれらの値のいずれか、またはその他の認識されない値に設定されている場合、その値は無視されます。

メソッド

close()

Promise
chrome.sockets.tcp.close(
  socketId: number,
  callback?: function,
)
: Promise<void>

ソケットを閉じ、ソケットがバインドされているアドレス / ポートを解放します。作成したソケットは、使用後に閉じる必要があります。関数が呼び出されるとすぐに、ソケット ID は無効になります。ただし、ソケットが閉じられることが保証されるのは、コールバックが呼び出されたときのみです。

パラメータ

  • socketId

    数値

    ソケット識別子。

  • callback

    function 省略可

    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

    数値

    ソケット識別子。

  • peerAddress

    文字列

    リモートマシンのアドレス。DNS 名、IPv4、IPv6 形式がサポートされています。

  • peerPort

    数値

    リモートマシンのポート。

  • dnsQueryType

    DnsQueryType 省略可

    Chrome 103 以降

    アドレス解決の設定。

  • callback

    関数

    callback パラメータは次のようになります。

    (result: number) => void

    • 件の結果

      数値

      基盤となるネットワーク呼び出しから返された結果コード。負の値はエラーを示します。

create()

Promise
chrome.sockets.tcp.create(
  properties?: SocketProperties,
  callback?: function,
)
: Promise<CreateInfo>

TCP ソケットを作成します。

パラメータ

  • プロパティ

    SocketProperties 省略可

    ソケットのプロパティ(省略可)。

  • callback

    function 省略可

    callback パラメータは次のようになります。

    (createInfo: CreateInfo) => void

    • createInfo

      ソケット作成の結果。

戻り値

  • Promise<CreateInfo>

    Chrome 121 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

disconnect()

Promise
chrome.sockets.tcp.disconnect(
  socketId: number,
  callback?: function,
)
: Promise<void>

ソケットを切断します。

パラメータ

  • socketId

    数値

    ソケット識別子。

  • callback

    function 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 121 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

getInfo()

Promise
chrome.sockets.tcp.getInfo(
  socketId: number,
  callback?: function,
)
: Promise<SocketInfo>

指定されたソケットの状態を取得します。

パラメータ

  • socketId

    数値

    ソケット識別子。

  • callback

    function 省略可

    callback パラメータは次のようになります。

    (socketInfo: SocketInfo) => void

    • socketInfo

      ソケット情報を含むオブジェクト。

戻り値

  • Promise<SocketInfo>

    Chrome 121 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

getSockets()

Promise
chrome.sockets.tcp.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

アプリケーションが所有する、現在開いているソケットのリストを取得します。

パラメータ

  • callback

    function 省略可

    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

    数値

    ソケット識別子。

  • データ

    ArrayBuffer

    送信するデータ。

  • callback

    関数

    callback パラメータは次のようになります。

    (sendInfo: SendInfo) => void

    • sendInfo

      send メソッドの結果。

setKeepAlive()

chrome.sockets.tcp.setKeepAlive(
  socketId: number,
  enable: boolean,
  delay?: number,
  callback: function,
)
: void

TCP 接続のキープアライブ機能を有効または無効にします。

パラメータ

  • socketId

    数値

    ソケット識別子。

  • 有効にする

    ブール値

    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

    数値

    ソケット識別子。

  • noDelay

    ブール値

    true の場合、Nagle のアルゴリズムを無効にします。

  • callback

    関数

    callback パラメータは次のようになります。

    (result: number) => void

    • 件の結果

      数値

      基盤となるネットワーク呼び出しから返された結果コード。負の値はエラーを示します。

setPaused()

Promise
chrome.sockets.tcp.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

アプリがピアからメッセージを受信できるようにするかどうかを指定します。デフォルト値は「false」です。ソケットの一時停止は、通常、ピアから送信されるデータをスロットリングするためにアプリケーションで使用されます。ソケットが一時停止されている場合、onReceive イベントは発生しません。ソケットが接続され、一時停止が解除されると、メッセージの受信時に onReceive イベントが再び発生します。

パラメータ

  • socketId

    数値

  • 一時停止

    ブール値

  • callback

    function 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 121 以降

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

update()

Promise
chrome.sockets.tcp.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)
: Promise<void>

ソケットのプロパティを更新します。

パラメータ

  • socketId

    数値

    ソケット識別子。

  • プロパティ

    更新するプロパティ。

  • callback

    function 省略可

    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 イベントは発生しなくなります。

パラメータ