Wii U は押入れにしまっていたため、ここ最近の動向をほとんどキャッチアップしていませんでした。
Wii UのインターネットブラウザーがWebSocketに対応したというのはツイートを見て知り、
今回のアップデートで対応したのかそれともその前にすでに対応していたのかもわかりません。
とりあえず、ほんのすこし調べてみました。
ハンドシェイク
ハンドシェイクはシンプルで最低限必要なものだけでした。Sec-WebSocket-Versionは13です。
GET / HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: 192.168.0.4:8181
Origin: http://www.gtk2k.net
Sec-WebSocket-Key: poVU2lHi3ImaEE3b/7vMDQ==
Sec-WebSocket-Version: 13
テキストメッセージ
これは当然ながら出来ました。
バイナリーメッセージ
バイナリーメッセージは一部対応してました。
send(Blob)
FileReader is not available. Could not send a Blob as WebSocket binary message.
という、エラーメッセージが表示されてダメでした。FileReaderが実装されていないっぽく、
実際デベロッパーツールで見てみるとFileReaderが実装されていませんでした。
send(ArrayBufferView)
そもそも実装されていないらしく '[object Uint8Array]' がテキストメッセージで送信されました。
send(ArrayBuffer)
唯一、これでバイナリーメッセージとして送信することが出来ました。
あとがき
send(blob)ができないのとFileReaderが実装されていないのが痛いですね。これがないとinput type='file'などで選択したファイルなどをWebSocketで送信したり、ファイルをJSでいじったりすることができません。
以上