Как я могу заставить Chromium отправить новое рукопожатие WebSocket? - PullRequest
4 голосов
/ 24 мая 2011

Мне попалось это изменение кода в Chromium . В нем говорится, что Chromium теперь поддерживает обе версии рукопожатия, что, кажется, подтверждает код. Я имею в виду вторую версию в Википедии (draft-ietf-hybi-thewebsocketprotocol-06).

Однако, когда я подключаюсь к своему серверу, единственное, что я получаю, - это старая версия, то есть, включая эти заголовки:

Sec-WebSocket-Key1: 4 @1  46546xW%0l 1 5
Sec-WebSocket-Key2: 12998 5 Y3 1  .P00

но не новая версия, которая будет запросом, содержащим:

Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==

Что мне здесь не хватает? Я скачал последнюю ночную сборку, и она была включена более двух недель назад, поэтому я не думаю, что это может быть причиной.

Как я могу заставить WebSocket отправить новую версию рукопожатия?

Ответы [ 2 ]

4 голосов
/ 31 мая 2011

Ссылка на код, которую вы разместили, предназначена для серверного рукопожатия (есть несколько мест, которые, вероятно, будут использоваться в Chrome, такие как удаленная отладка и в качестве прокси для расширений).

Если вы действительно хотите использовать новую версию протокола HyBi-07, вы можете попробовать эту ветку web-socket-js, которую я сделал. Как только Chrome переключится на новый протокол, web-socket-js также будет переключаться по умолчанию. Чтобы заставить web-socket-js работать в браузере, в котором уже есть поддержка WebSockets, вам потребуется внести в него некоторые незначительные изменения, чтобы использовать другое имя объекта вместо WebSocket.

Я ожидаю, что Chrome / WebKit вскоре добавит новый протокол. Обратите внимание, что API-изменения для добавления бинарной поддержки только недавно были определены , поэтому Chrome может добавить новый протокол до того, как API полностью поддержит новую функциональность, разрешенную протоколом.

1 голос
/ 03 июня 2011

Единственный известный мне браузер, реализующий протокол 07, - это сборка FF4:

http://www.ducksong.com/misc/websockets-builds/ws-07/

...