WebSockets. Браузер, при получении сообщения, вызывает socket.onerror и разрывает соединение.

German129873

Новичок
Здравствуйте, уважаемые форумчане.
Передо мной стоит задача, написать на PHP небольшой WebSocket-сервер. Второй день не могу заставить браузер принимать сообщения от сервера. В моём исходнике функция websock_encode на основе сообщения создаёт "single-frame unmasked text message". Этот фрейм, для сообщения "Hello", получается в точности такой, как приведён в примере в RFC 6455, и, теоретически, должен приниматься браузером (Firefox 14.0.1). Однако браузер реагирует на него событием socket.onerror и разрывает соединение.
Подскажите, пожалуйста, в чём может быть дело?
 

Redjik

Джедай-мастер
Недавно тема проскакивала - поиск почему то не находит.
 

German129873

Новичок
Недавно тема проскакивала - поиск почему то не находит.
Спасибо за ответ.
Полистал форум. Наверно, вы об этой теме. У меня исследование немного дальше продвинулось - мне удалось декодировать сообщения, получаемые сервером (Сейчас там отпишусь). Понять бы, почему браузер не принимает фреймы с сервера, если они формируются точно так, как указано в примере, приведённом в стандарте RFC 6455?...
 

cDLEON

Онанист РНРСlub
Я там давал ссылку на чужую реализацию. Почему бы не использовать её? Или, если уж захотелось велосипед написать, залезть в код, да посмотреть как там реализовано ?
 

German129873

Новичок
Всем доброго времени суток.
Я там давал ссылку на чужую реализацию. Почему бы не использовать её? Или, если уж захотелось велосипед написать, залезть в код, да посмотреть как там реализовано ?
Спасибо, за совет! Что-то по началу слишком быстро просмотрел ту тему, не обратил внимание на ваше сообщение...

Если кому-нибудь интересно - нашёл, в чём была проблема! (ни у одного меня такая загвоздка возникала) В статьях, на которые я опирался, в конце строки заголовков, посылаемых сервером в ответ на "рукопожатие", дописывался символ chr(0). Очевидно, это требовалось в предыдущих версиях протокола. Без этого символа всё работает как надо! :)
 
Сверху