WebSockets
WebSocketsを使用すると、Cloudflare Workersのサーバーレス関数とリアルタイムで通信できます。完全な例については、WebSockets APIの使用を参照してください。
// { 0: <WebSocket>, 1: <WebSocket> }let websocketPair = new WebSocketPair();このコンストラクタから返されるWebSocketPairは、0と1のキーを持つオブジェクトで、2つのWebSocketが含まれています。
これらのWebSocketは一般的にclientとserverと呼ばれます。以下の例では、Object.valuesとES6の分割代入を組み合わせて、WebSocketをclientとserverとして取得します:
let [client, server] = Object.values(new WebSocketPair());-
accept()- WebSocket接続を受け入れ、Cloudflareのグローバルネットワーク上でWebSocketのリクエストを終了する処理を開始します。これにより、WorkersランタイムがWebSocketリクエストに応答し、処理を開始できるようになります。
-
addEventListener(eventWebSocketEvent, callbackFunctionFunction)- WebSocketでイベントが発生したときに実行されるコールバック関数を追加します。
-
eventWebSocketEvent- リッスンするWebSocketイベント(イベントを参照)。
-
callbackFunction(messageMessage)関数- WebSocketが特定のイベントに応答したときに呼び出される関数。
-
close(codenumber, reasonstring)- WebSocket接続を閉じます。
-
codeintegerオプション- サーバーによって送信されたクローズコードを示す整数。この値はWebSocket仕様によって提供されるステータスコードのリスト ↗のオプションと一致する必要があります。
-
reasonstringオプション- WebSocket接続が閉じられた理由を示す人間が読める文字列。
-
send(messagestring | ArrayBuffer | ArrayBufferView)- このWebSocketペアの他のWebSocketにメッセージを送信します。
-
messagestring- 対応するクライアントにWebSocket接続を介して送信するメッセージ。このメッセージは文字列または文字列に変換可能なものである必要があります。たとえば、文字列や数値は単に文字列にキャストされますが、オブジェクトや配列は
JSON.stringifyを使用してJSON文字列にキャストし、クライアントで解析する必要があります。
- 対応するクライアントにWebSocket接続を介して送信するメッセージ。このメッセージは文字列または文字列に変換可能なものである必要があります。たとえば、文字列や数値は単に文字列にキャストされますが、オブジェクトや配列は
-
close- WebSocketが閉じたことを示すイベント。
-
error- WebSocketにエラーが発生したことを示すイベント。
-
message- クライアントから受信した新しいメッセージを示すイベント。クライアントによって渡されたデータを含みます。
dataany - ペアの他のWebSocketから返されたデータ。typestring - デフォルトはmessage。