コンテンツにスキップ

WebSockets

背景

WebSocketsを使用すると、Cloudflare Workersのサーバーレス関数とリアルタイムで通信できます。完全な例については、WebSockets APIの使用を参照してください。

コンストラクタ

// { 0: <WebSocket>, 1: <WebSocket> }
let websocketPair = new WebSocketPair();

このコンストラクタから返されるWebSocketPairは、01のキーを持つオブジェクトで、2つのWebSocketが含まれています。

これらのWebSocketは一般的にclientserverと呼ばれます。以下の例では、Object.valuesとES6の分割代入を組み合わせて、WebSocketをclientserverとして取得します:

let [client, server] = Object.values(new WebSocketPair());

メソッド

accept

  • accept()
    • WebSocket接続を受け入れ、Cloudflareのグローバルネットワーク上でWebSocketのリクエストを終了する処理を開始します。これにより、WorkersランタイムがWebSocketリクエストに応答し、処理を開始できるようになります。

addEventListener

  • addEventListener(eventWebSocketEvent, callbackFunctionFunction)
    • WebSocketでイベントが発生したときに実行されるコールバック関数を追加します。

パラメータ

  • event WebSocketEvent

    • リッスンするWebSocketイベント(イベントを参照)。
  • callbackFunction(messageMessage) 関数

    • WebSocketが特定のイベントに応答したときに呼び出される関数。

close

  • close(codenumber, reasonstring)
    • WebSocket接続を閉じます。

パラメータ

  • codeinteger オプション

    • サーバーによって送信されたクローズコードを示す整数。この値はWebSocket仕様によって提供されるステータスコードのリストのオプションと一致する必要があります。
  • reasonstring オプション

    • WebSocket接続が閉じられた理由を示す人間が読める文字列。

send

  • send(messagestring | ArrayBuffer | ArrayBufferView)
    • このWebSocketペアの他のWebSocketにメッセージを送信します。

パラメータ

  • messagestring
    • 対応するクライアントにWebSocket接続を介して送信するメッセージ。このメッセージは文字列または文字列に変換可能なものである必要があります。たとえば、文字列や数値は単に文字列にキャストされますが、オブジェクトや配列はJSON.stringifyを使用してJSON文字列にキャストし、クライアントで解析する必要があります。

イベント

  • close
    • WebSocketが閉じたことを示すイベント。
  • error
    • WebSocketにエラーが発生したことを示すイベント。
  • message
    • クライアントから受信した新しいメッセージを示すイベント。クライアントによって渡されたデータを含みます。

タイプ

メッセージ

  • data any - ペアの他のWebSocketから返されたデータ。
  • type string - デフォルトはmessage

関連リソース