2012-03-17 2 views
1

Я делаю сервер C веб-сайта: D фактически один раз, когда я успешно подключился, но после этого этот onOpen не запускается снова ... и говорит мнеЯ хочу проверить «Sec-WebSocket-Accept» на стороне клиента

Error during WebSocket handshake: Sec-WebSocket-Accept mismatch 

так что теперь мне нужно, чтобы проверить, что клиент HTML занимает особенно Sec-WebSocket-Accept поле

есть ли способ я могу проверить Sec-WebSocket-Accept поле в JavaScript стороне клиента? Какую ценность я должен проверить?

ответ

2

Заголовок заголовка Sec-WebSocket-Accept, ожидаемый для отправки сервером WebSocket во время первоначального рукопожатия, не может быть доступен из JavaScript (в браузерах).

Вы можете, однако, посмотреть полное рукопожатие открытия, то есть в консоли разработчика Chrome, после рукопожатие преуспело.

Значение должно вычисляться сервером на основе ключа Sec-WebSocket, отправленного клиентом (и магической строкой). Вы можете прочитать информацию в http://tools.ietf.org/html/rfc6455

+0

действительно спасибо за отзыв !!! это так полезно для меня, и теперь я готов сделать C-сервер !!! хотя он может рукопожарить только ^^; теперь я изучаю dataframing выглядит сложнее, чем рукопожатие ;;; – nathan

+0

Просмотр рукопожатия и (особенно) сообщений, прочитанных в консоли Chrome, было бы очень полезно. Можете ли вы сказать мне, где их искать? Я не вижу ничего на вкладке консоли; я должен смотреть под другой вкладкой? – simonc

+0

Вы можете просмотреть данные из рукопожатия открытия WS, как это (в Chrome): F12 -> вкладка сети -> страница перезагрузки -> субтитры websocket (внизу) -> щелкните по пути (левая панель). Вы не можете (насколько мне известно) автоматически «перехватывать» WS-сообщения, обменянные _after_ рукопожатием в Chrome. Может быть диссектор для Wireshark, который может это сделать. – oberstet

Смежные вопросы