Я пытаюсь запустить приложение websocket (чат на основе php) и мне нужно получить Sec-WebSocket-Key из заголовка рукопожатия я получаю, выполнив:
$socket_new = socket_accept($socket);
$header = socket_read($socket_new, 5000);
Но необходимый атрибут отсутствует в моем заголовке … здесь вы можете увидеть распечатанный заголовок. Клиент WebSocket обычно должен сам устанавливать этот параметр ?!
GET / HTTP/1.1
Host: X.XXX.XXX.XXX:9000
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
DNT: 1
Accept-Encoding: gzip, deflate, sdch
Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4
Cookie: csrftoken=ZiNFgXXXXNYSoi0XkCtiudR00aHwm; sessionid=7s2pdmfvchwylXXXXtqv0rzbn7bd
Я попробовал это с Firefox и Chrome, и мой Сервер работает на сервере Debian.
Нужно ли что-то устанавливать на моем сервере (как любая библиотека WebSocket)?
Или почему отсутствуют атрибуты Sec-WebSocket?
Задача ещё не решена.
Других решений пока нет …