2

WebSocketメッセージ

[21] WebSocket データフレームには、テキストとバイナリーの2種類があります。 それぞれテキストデータ、またはバイナリーデータを表します。

仕様書

意味

[4] データフレーム (data frame) は、応用拡張のデータを伝搬するものです >>2

[5] テキストフレーム (text frame) は、テキストデータを表します。

[6] バイナリーフレーム (binary frame) は、バイナリーデータを表します。


[19] データメッセージ (data message) は、 データフレーム群で構成されるメッセージです >>18

構文

[3] opcode は、テキストフレーム1バイナリーフレーム2 です。また継続フレーム0 です (WebSocketフレームを参照)。 0x3-0x7 は、予約されています。 >>2

[8] テキストフレームpayload data は、 UTF-8 符号化されたテキストデータです。 個別のフレームのデータは UTF-8 データの一部分かもしれませんが、 全体としては妥当な UTF-8 バイト列となっていなければなりません>>2

[10] バイナリーフレームpayload data は、任意のバイナリーデータです。 解釈は応用に委ねられます。 >>2

[9] 拡張データテキストまたはバイナリーに指定されるということなのでしょうか?

[20] message payload (payload of a message) は、1つのメッセージを表すすべてのデータフレームpayload data 部分を連結したものです。 >>18

文脈

[7] クライアントサーバーも、WebSocket接続の確立の後、 Closeフレームを送信するまで、任意の時機にデータフレームを送信できます >>1

処理

送信

[12] WebSocketメッセージ送信を参照。

受信

[11] WebSocketメッセージ受信を参照。

[15] 受信した UTF-8 データが妥当でない時は、WebSocket接続失敗としなければなりません >>14

[16] ChromeFirefox接続を閉じます。 Chrome状態符号 1002 理由 Invalid UTF-8 in text frameCloseフレームを送信します。

[13] 継続フレームの前に FIN が 0 のテキストフレームバイナリーフレームがなかった場合には、 Chrome でも Firefox でも、 接続が閉じられます。 Chrome状態符号 1002、 理由 Unexpected continuationCloseフレームを送ります。

[17] FIN が 0 のフレームの後にテキストフレームバイナリーフレームが来た場合、 Chrome でも Firefox でも、 接続が閉じられます。 Chrome状態符号 1002、 理由 Previous data frame unfinishedCloseフレームを送ります。