chrome.sockets.tcpServer

説明

chrome.sockets.tcpServer API を使用して、TCP 接続を使用するサーバー アプリケーションを作成します。この API は、以前 chrome.socket API にあった TCP 機能に代わるものです。

マニフェスト

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

"sockets"

AcceptErrorInfo

プロパティ

  • resultCode

    数値

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

  • socketId

    数値

    サーバー ソケット ID。

AcceptInfo

プロパティ

  • clientSocketId

    数値

    クライアント ソケット識別子(新しく確立された接続のソケット識別子)。このソケット識別子は、chrome.sockets.tcp 名前空間の関数でのみ使用する必要があります。クライアント ソケットは最初は一時停止されており、データの受信を開始するには、アプリによって明示的に一時停止を解除する必要があります。

  • socketId

    数値

    サーバー ソケット ID。

CreateInfo

プロパティ

  • socketId

    数値

    新しく作成されたサーバー ソケットの ID。この API から作成されたソケット ID は、非推奨の [socket](../socket/) API など、他の API から作成されたソケット ID と互換性がないことに注意してください。

SocketInfo

プロパティ

  • localAddress

    文字列 省略可

    ソケットがリッスンしている場合は、ローカル IPv4/6 アドレスが含まれます。

  • localPort

    number 省略可

    ソケットがリッスンしている場合は、ローカルポートが含まれます。

  • name

    文字列 省略可

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

  • 一時停止

    ブール値

    リッスン ソケットの接続リクエストが onAccept イベントを介してディスパッチされるか、リッスン キューのバックログにキューに追加されるかを示すフラグ。setPaused をご覧ください。デフォルト値は「False」です。

  • 永続

    ブール値

    アプリケーションのイベントページがアンロードされたときにソケットが開いたままになるかどうかを示すフラグ(SocketProperties.persistent を参照)。デフォルト値は「false」です。

  • socketId

    数値

    ソケット ID。

SocketProperties

プロパティ

  • name

    文字列 省略可

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

  • 永続

    ブール値(省略可)

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

メソッド

close()

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

ソケットを切断して破棄します。作成された各ソケットは、使用後に閉じる必要があります。関数が呼び出されると、ソケット ID は無効になります。ただし、ソケットが閉じられるのは、コールバックが呼び出されたときのみです。

パラメータ

  • socketId

    数値

    ソケット ID。

  • callback

    関数 省略可

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

    () => void

戻り値

  • Promise<void>

    Chrome 121 以降

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

create()

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

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

パラメータ

  • プロパティ

    SocketProperties 省略可

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

  • callback

    関数 省略可

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

    (createInfo: CreateInfo) => void

    • createInfo

      ソケット作成の結果。

戻り値

  • Promise<CreateInfo>

    Chrome 121 以降

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

disconnect()

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

リスニング ソケットを切断します。つまり、新しい接続の受け入れを停止し、ソケットがバインドされているアドレスとポートを解放します。ソケット ID は有効なままです。たとえば、listen で新しいポートとアドレスの接続を受け入れるために使用できます。

パラメータ

  • socketId

    数値

    ソケット ID。

  • callback

    関数 省略可

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

    () => void

戻り値

  • Promise<void>

    Chrome 121 以降

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

getInfo()

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

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

パラメータ

  • socketId

    数値

    ソケット ID。

  • callback

    関数 省略可

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

    (socketInfo: SocketInfo) => void

    • socketInfo

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

戻り値

  • Promise<SocketInfo>

    Chrome 121 以降

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

getSockets()

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

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

パラメータ

  • callback

    関数 省略可

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

    (socketInfos: SocketInfo[]) => void

    • socketInfos

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

戻り値

  • Promise<SocketInfo[]>

    Chrome 121 以降

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

listen()

chrome.sockets.tcpServer.listen(
  socketId: number,
  address: string,
  port: number,
  backlog?: number,
  callback: function,
)
: void

指定されたポートとアドレスで接続をリッスンします。ポート/アドレスが使用中の場合、コールバックは失敗を示します。

パラメータ

  • socketId

    数値

    ソケット ID。

  • 住所

    文字列

    ローカル マシンのアドレス。

  • ポート

    数値

    ローカルマシンのポート。0 に設定すると、空きポートが動的に選択されます。動的に割り振られたポートは、getInfo を呼び出すことで確認できます。

  • バックログ

    number 省略可

    ソケットのリスンキューの長さ。デフォルト値はオペレーティング システム(SOMAXCONN)によって異なり、ほとんどのアプリケーションで適切なキューの長さを確保します。

  • callback

    関数

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

    (result: number) => void

    • 件の結果

      数値

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

setPaused()

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

リスニング ソケットが新しい接続を受け入れるかどうかを有効または無効にします。一時停止すると、リスニング ソケットはバックログ(listen 関数を参照)がいっぱいになるまで新しい接続を受け入れ、それ以降の接続リクエストを拒否します。onAccept イベントは、ソケットが一時停止されていない場合にのみ発生します。

パラメータ

  • socketId

    数値

  • 一時停止

    ブール値

  • callback

    関数 省略可

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

    () => void

戻り値

  • Promise<void>

    Chrome 121 以降

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

update()

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

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

パラメータ

  • socketId

    数値

    ソケット ID。

  • プロパティ

    更新するプロパティ。

  • callback

    関数 省略可

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

    () => void

戻り値

  • Promise<void>

    Chrome 121 以降

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

イベント

onAccept

chrome.sockets.tcpServer.onAccept.addListener(
  callback: function,
)

サーバー ソケットへの接続が確立されたときに発生するイベント。

パラメータ

  • callback

    関数

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

    (info: AcceptInfo) => void

onAcceptError

chrome.sockets.tcpServer.onAcceptError.addListener(
  callback: function,
)

ランタイムがソケット アドレスとポートで新しい接続を待機している間にネットワーク エラーが発生したときに発生するイベント。このイベントが発生すると、ソケットは paused に設定され、ソケットが再開されるまで、このソケットに対して onAccept イベントは発生しません。

パラメータ