WebSocket
TCP上で双方向通信を行うための仕組み。
HTTPの通信を装うことで、HTTPの仕組み上で双方向通信を実現させている。
ハンドシェイク
Req
GET /resource HTTP/1.1\r\n
host: example.com\r\n
upgrade: websocket\r\n
connection: upgrade\r\n
sec-websocket-version: 13\r\n
sec-websocket-key: E4WSEcseoWr4csPLS2QJHA==\r\n
\r\n
sec-websocket-versionヘッダはNonce
Res
HTTP/1.1 101 OK
upgrade: websocket\r\n
connection: upgrade\r\n
sec-websocket-accept: 7eQChgCtQMnVILefJAO6dK5JwPc=\r\n
\r\n
データ転送
オーバーヘッドが少ない
の2段階
実装
典型的な JavaScript クライアント
WebSocket プロトコルが最も影響を与える環境が JavaScript であることは疑いようがなく、API は驚くほど単純です。図 1 のサーバーに接続するために必要なのは、以下ですべてです。
var ws = new WebSocket("ws://localhost:8000/ws/");
ws.onmessage = function (args)
{
var time = args.data;
...
};
http://south37.hatenablog.com/entry/2014/09/07/WebSocketについて調べてみた。
https://www.slideshare.net/mawarimichi/websocketwebrtc
Windows 8 と WebSocket プロトコル ←前提から色々と共有してくれていてとてもわかりやすい
2018/12/19~ API Gatewayで使えるようになっている
https://aws.amazon.com/jp/blogs/news/announcing-websocket-apis-in-amazon-api-gateway/
サンプル: サーバレスなリアルタイムチャットアプリケーションの構築
#Web