Ответ 1
http только cookie, а также безопасные файлы cookie отлично работают с websocket.
Некоторые модули websocket решили игнорировать файлы cookie в запросе, поэтому вам нужно прочитать спецификации модуля.
Попробуйте: websocket node: https://github.com/Worlize/WebSocket-Node.
Обязательно используйте защищенный протокол websocket как wss://xyz.com
Обновление:
Кроме того, хром будет не показывать файлы cookie на вкладке "Инспектировать элемент".
В node попробуйте сбросить запрос, например:
wsServer.on('request', function(request) {
console.log(request);
console.log(request.cookies); // works in websocket node
}
Если вы видите файлы cookie где-то в журнале... у вас это есть.
Если вы используете безопасные файлы cookie, вам необходимо находиться в защищенных веб-сокетах: wss://
Update2:
Файлы cookie передаются в исходном запросе. Chrome не показывает его (все время), поскольку иногда он показывает предварительные заголовки, которые опускают информацию о файлах cookie.
До сервера websocket требуется "что-то" с файлами cookie и прикреплять их к каждому запросу.
Глядя на код вашего сервера: https://github.com/Flynsarmy/PHPWebSocket-Chat/blob/master/class.PHPWebSocket.php Я не вижу слова "cookie" в любом месте, поэтому он не красиво упакован и прикреплен к каждому подключение к Интернету. Я мог ошибаться, поэтому вы можете обратиться к разработчику и посмотреть, прикреплен ли весь заголовок к каждому соединению и как получить к нему доступ.
Это я могу сказать наверняка: если вы используете безопасные куки файлы, cookie будет не передаваться, если вы не используете защищенный websocket wss://mysite.com
. Обычная ws://mysite.com
не будет работать.
Кроме того, файлы cookie будут передаваться только в запросе, если домен совпадает с веб-страницей.