я пытаюсь создать в php адаптер для пересылки сообщений от клиента javascript на сервер nodejs и наоборот.
сервер nodejs: WS
php сервер: RatchetPHP
PHP-клиент: RatchetPawl
сервер websocket в php: chatWSServer.php
класс подключения: connection.php
клиент javascript:
connection = new WebSocket('ws://localhost:9000');
connection.onmessage = (e) => {
console.log(e.data);
}
connection.onopen = (e) => {
console.log("connection established!");
}
connection.addEventListener('message', (resData) => {
console.log("got message:", resData);
});
я пытаюсь открыть подключение к серверу nodejs websocket (localhost: 8889),
при подключении клиента javscript к серверу php websocket (localhost: 9000):
chatWSServer.php — createConnection ()
и это работает,
но когда клиент javascript пытается отправить сообщение, я получаю:
Не удалось выполнить ‘send’ на ‘WebSocket’: все еще в состоянии CONNECTING.
я думаю, потому что петля соединителя храповика собачки работает — когда я комментирую: loop->run()
клиент может отправлять сообщения.
с помощью @WyriHaximus мне удалось решить эту проблему.
ive создал клиента websocket с ratchetpawl с тем же циклом, что и цикл сервера ratchet websocket. и теперь его не блокирует!
см. мой репозиторий для решения кода.
Других решений пока нет …