Сервер Websocket, клиент не может рукопожатие

Я тестирую с использованием последней версии Chrome (версия веб-сокета 13).

Вот моя простая страница клиента, расположенная по адресуhttp://127.0.0.1/folder/default.aspx:

<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');
    };
    socket.onmessage = function(msg) {
        alert(msg);
    };
</script>

А вот и мой слушатель (c #)

var listener = new TcpListener(IPAddress.Loopback, 8181);
listener.Start();
while (true)
{
    Console.WriteLine("Listening...");
    using (var client = listener.AcceptTcpClient())
    using (var stream = client.GetStream())
    using (var reader = new StreamReader(stream))
    using (var writer = new StreamWriter(stream))
    {
        writer.WriteLine("HTTP/1.1 101 Web Socket Protocol Handshake");
        writer.WriteLine("Upgrade: WebSocket");
        writer.WriteLine("Connection: Upgrade");
        writer.WriteLine("WebSocket-Origin: http://127.0.0.1");
        writer.WriteLine("WebSocket-Location: ws://localhost:8181/websession");
        writer.WriteLine("");
    }
    Console.WriteLine("Finished");
}

Когда я запускаю сервер, а затем загружаю страницу клиента, он говорит только"connection closed".

Может кто-нибудь сказать, пожалуйста, как правильно выполнить это рукопожатие? Насколько я могу судить из документации и предыдущих вопросов, ответ, который я посылаю обратно клиенту, выглядит правильным.

Ответы на вопрос(3)

Ваш ответ на вопрос