Отправка данных из javascript в php websocket

У меня есть веб-сокет php, написанный как:

$socket = socket_create(AF_INET, SOCK_STREAM, 0);
socket_bind($socket, '127.0.0.1', 8080);
socket_listen($socket);

Я запускаю это с помощью php server.php в командной строке и работает непрерывно. Я пытаюсь отправить данные из сценария javascript на этот сервер. Является ли это возможным? Я пробовал создавать соединение через веб-сокет из javascript и использовать websocket.send(JSON), но, похоже, он не регистрируется в server.php (или я не уверен, как правильно получить данные из отправки javascript). Можно ли отправить? Если да, то как я могу отправить?


person Jonatha Suh    schedule 11.08.2015    source источник


Ответы (2)


webSocket — это особый протокол, работающий поверх TCP. Он имеет определенный формат кадра, который необходимо использовать для связи с другой конечной точкой с помощью веб-сокета. Это не просто обычный TCP-сокет, который вы используете. Вот справочный документ по протоколу webSocket, если вы хочу посмотреть, как это работает.

Фактически, соединения через веб-сокет инициируются с помощью http-запроса, который затем «обновляется» до протокола веб-сокета.

Если вы используете PHP, вы можете получить модуль, который говорит по протоколу webSocket, и использовать его. Я сам не PHP-разработчик, но я слышал, что Ratchet – это популярный способ поддержки веб-сокетов с PHP. несколько других. Вот связанный с StackOverflow вопрос о поддержке webSocket для PHP.

person jfriend00    schedule 11.08.2015

Вас может заинтересовать этот http://www.sanwebe.com/2013/05/chat-using-websocket-php-socket

person Neil Villareal    schedule 11.08.2015