ヒックソンの2010年5月のdraft-hixie-thewebsocketprotocol-76WebSocketプロトコルを読んだ人はいますか?
.htmファイルのソースは次のとおりです。
<html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
var socket = new WebSocket('ws://localhost:8181/websession');
socket.onopen = function() {
alert('handshake successfully established. May send data now...');
};
socket.onclose = function() {
alert('connection closed');
};
</script>
</head>
<body>
</body>
</html>
8181でリッスンしているTCPポートがある場合、これは上記の.htmファイルをChromeにロードしたときに取得するリクエストです。
GET /websession HTTP/1.1
Upgrade: WebSocket
Connection: Upgrade
Host: localhost:8181
Origin: null
[\n]
([\ n]はCRLF文字です。)
このハンドシェイクオープナーに何を戻す必要がありますか?ドラフト-hixie-thewebsocketprotocol-76は次のことを示しています。
HTTP/1.1 101 WebSocket Protocol Handshake
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Origin: http://example.com
Sec-WebSocket-Location: ws://example.com/demo
Sec-WebSocket-Protocol: sample
8jKS'y:G*Co,Wxa-
ただし、この応答によりsocket.onclose
発火します。