chrome.sockets.tcpServer

説明

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

マニフェスト

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

"sockets"

AcceptErrorInfo

プロパティ

  • resultCode

    数値

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

  • socketId

    数値

    サーバー ソケット識別子。

AcceptInfo

プロパティ

  • clientSocketId

    数値

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

  • socketId

    数値

    サーバー ソケット識別子。

CreateInfo

プロパティ

  • socketId

    数値

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

SocketInfo

プロパティ

  • localAddress

    string(省略可)

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

  • localPort

    number(省略可)

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

  • name

    string(省略可)

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

  • 一時停止

    boolean

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

  • 永続

    boolean

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

  • socketId

    数値

    ソケット識別子。

SocketProperties

プロパティ

  • name

    string(省略可)

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

  • 永続

    ブール値(省略可)

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

Methods

close()

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

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

パラメータ

  • socketId

    数値

    ソケット識別子。

  • callback

    関数(省略可)

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

    ()=>void

戻り値

  • Promise<void>

    Chrome 121 以降

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

create()

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

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,
)

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

パラメータ

  • socketId

    数値

    ソケット識別子。

  • callback

    関数(省略可)

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

    ()=>void

戻り値

  • Promise<void>

    Chrome 121 以降

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

getInfo()

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

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

パラメータ

  • socketId

    数値

    ソケット識別子。

  • callback

    関数(省略可)

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

    (socketInfo: SocketInfo)=>void

    • socketInfo

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

戻り値

  • Promise<SocketInfo>

    Chrome 121 以降

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

getSockets()

Promise
chrome.sockets.tcpServer.getSockets(
  callback?: function,
)

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

パラメータ

  • 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,
)

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

パラメータ

  • socketId

    数値

    ソケット識別子。

  • address

    文字列

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

  • ポート

    数値

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

  • バックログ

    number(省略可)

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

  • callback

    機能

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

    (result: number)=>void

    • 件の結果

      数値

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

setPaused()

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

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

パラメータ

  • socketId

    数値

  • 一時停止

    boolean

  • callback

    関数(省略可)

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

    ()=>void

戻り値

  • Promise<void>

    Chrome 121 以降

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

update()

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

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

パラメータ

  • socketId

    数値

    ソケット識別子。

  • プロパティ

    更新するプロパティ。

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

パラメータ