php websocket转发到nodejs [英] php websocket forwarding to nodejs

查看:25
本文介绍了php websocket转发到nodejs的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在 php 中创建一个适配器,以便将消息从 javascript 客户端转发到 nodejs 服务器,反之亦然.

im tring to create an adapter in php to forward messages from javascript client to nodejs server and vice versa.

nodejs 服务器:ws

nodejs server: ws

php 服务器:RatchetPHP

php 客户端:RatchetPawl

php 中的 websocket 服务器:chatWSServer.php

websocket server in php: chatWSServer.php

连接类:connection.php

javascript 客户端:

javascript client:

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 服务器(本地主机:8889)的连接,在 javascript 客户端连接到 php websocket 服务器(本地主机:9000)上:chatWSServer.php - createConnection()及其工作,但是当 javascript 客户端尝试发送消息时,我得到了:

Problem:

i try to open a connection to the nodejs websocket server (localhost:8889), on javscript client connection to php websocket server (localhost:9000): chatWSServer.php - createConnection() and its working, but when the javascript client try to send a message i get:

无法在WebSocket"上执行发送":仍处于连接状态.

Failed to execute 'send' on 'WebSocket': Still in CONNECTING state.

我认为这是因为棘轮棘爪连接器循环正在运行 - 当我评论:loop->run() 客户端能够发送消息.

i think its because ratchet pawl connector loop is running - when i comment: loop->run() the client is able to send messages.

推荐答案

在 @WyriHaximus 的帮助下,我设法解决了这个问题.

with the help from @WyriHaximus i managed to solve this.

我创建了一个与棘轮 websocket 服务器循环相同的循环的棘轮爪 websocket 客户端.现在它是非阻塞的!

ive created a ratchetpawl websocket client with the same loop as ratchet websocket server's loop. and now its non blocking!

查看我的代码库解决方案.

see my repository for code solution.

这篇关于php websocket转发到nodejs的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆