chrome.sockets.tcpServer

説明

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

マニフェスト

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

"sockets"

AcceptErrorInfo

プロパティ

  • resultCode

    数値

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

  • socketId

    数値

    サーバー ソケット ID。

AcceptInfo

プロパティ

  • clientSocketId

    数値

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

  • socketId

    数値

    サーバー ソケット ID。

CreateInfo

プロパティ

  • socketId

    数値

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

SocketInfo

プロパティ

  • localAddress

    文字列(省略可)

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

  • localPort

    数値(省略可)

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

  • name

    文字列(省略可)

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

  • 一時停止

    ブール値

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

  • 永続

    ブール値

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

  • socketId

    数値

    ソケット ID。

SocketProperties

プロパティ

  • name

    文字列(省略可)

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

  • 永続

    ブール値(省略可)

    アプリのイベントページがアンロードされたとき、ソケットが開いたままになっているかどうかを示すフラグ(アプリのライフサイクルを管理するをご覧ください)。デフォルト値は「false」です。アプリが読み込まれると、その前に persistent=true を指定して開いたソケットは getSockets でフェッチできます。

メソッド

close()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.sockets.tcpServer.close(
  socketId: number,
  callback?: function,
)

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

パラメータ

  • socketId

    数値

    ソケット ID。

  • callback

    関数(省略可)

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

    () => void

戻り値

  • 約束 <void>

    Chrome 121 以降

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

create()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.sockets.tcpServer.create(
  properties?: SocketProperties,
  callback?: function,
)

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

パラメータ

  • プロパティ

    SocketProperties オプション

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

  • callback

    関数(省略可)

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

    (createInfo: CreateInfo) => void

    • createInfo

      ソケット作成の結果。

戻り値

  • Promise&lt;CreateInfo&gt;

    Chrome 121 以降

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

disconnect()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.sockets.tcpServer.disconnect(
  socketId: number,
  callback?: function,
)

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

パラメータ

  • socketId

    数値

    ソケット ID。

  • callback

    関数(省略可)

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

    () => void

戻り値

  • 約束 <void>

    Chrome 121 以降

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

getInfo()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.sockets.tcpServer.getInfo(
  socketId: number,
  callback?: function,
)

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

パラメータ

  • socketId

    数値

    ソケット ID。

  • callback

    関数(省略可)

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

    (socketInfo: SocketInfo) => void

    • socketInfo

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

戻り値

  • Promise&lt;SocketInfo&gt;

    Chrome 121 以降

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

getSockets()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.sockets.tcpServer.getSockets(
  callback?: function,
)

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

パラメータ

  • callback

    関数(省略可)

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

    (socketInfos: SocketInfo[]) => void

    • socketInfos

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

戻り値

  • Promise&lt;SocketInfo[]&gt;

    Chrome 121 以降

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

listen()

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

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

パラメータ

  • socketId

    数値

    ソケット ID。

  • 住所

    文字列

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

  • ポート

    数値

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

  • バックログ

    数値(省略可)

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

  • callback

    関数

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

    (result: number) => void

    • 件の結果

      数値

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

setPaused()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.sockets.tcpServer.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

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

パラメータ

  • socketId

    数値

  • 一時停止

    ブール値

  • callback

    関数(省略可)

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

    () => void

戻り値

  • 約束 <void>

    Chrome 121 以降

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

update()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.sockets.tcpServer.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

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

パラメータ

  • socketId

    数値

    ソケット ID。

  • プロパティ

    更新するプロパティ。

  • callback

    関数(省略可)

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

    () => void

戻り値

  • 約束 <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 イベントは発生しません。

パラメータ