我正在尝试在php中创建一个适配器,以便将消息从javascript客户端转发到节点js服务器,反之亦然。
nodejs服务器:ws
php服务器:RatchetPHP
php客户端:RatchetPawl
php中的websocket服务器: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客户端尝试发送时我收到的消息:
无法在'WebSocket'上执行'send':仍处于CONNECTING状态。
我认为它是因为棘轮棘爪连接器循环正在运行 - 当我评论:loop->run()
客户端能够发送消息。
在@WyriHaximus的帮助下,我设法解决了这个问题。
香港专业教育学院创建了一个棘轮websocket客户端,其循环与棘轮websocket服务器的循环相同。现在它的非阻塞!
看我的存储库代码解决方案。