具体的业务需求是这样的:
开发一个服务端,需要支持硬件的tcp长连接,硬件连接到服务端之后回跟服务端进行通信。
在web端实时监控设备的在线状态和数据上报,并且能在web端下发指令给连接着服务端的硬件。
关于第一点,用Gateway框架可以直接实现。但是关于第二点需求,我目前的做法是利用Workerman重新建立一个websocket的服务端,然后web连接上这个websocket的服务端,所有的跟硬件之间的通信都通过_AsyncTcpConnection_进行通信,虽然勉强实现了功能,但是总觉得有点不太方便。有没有更好的解决办法?
我一般也会像你这样做。
hello!我想麻烦问下,Gateway框架下 start_gateway.php 可以有两个吗?比如我一个是tcp协议(start_gateway_tcp.php),另一个是websocket协议(start_gateway_websocket),然后端口设置成不同的,这样就不用通过异步连接来通信了。不过我测试了一下是不行的,不知道理论上是不是可以?我看了文档上说支持多协议,不知道是不是我理解偏了。
可以,按照文档设置就行了
和我项目需求差不多,我现在也是跑2个GW,一个是处理硬件数据上报,一个websocket给WEB后台推送设备状态,多协议没问题的
大神们,我现在硬件可以和服务端进行交互了,可是服务器端如何主动发送命令给客户端呢,求解啊
@591:大佬,我现在硬件可以和服务端进行交互了,心跳检测没问题了,可是服务器端如何主动发送命令给客户端呢,求解啊
Gateway::sendClient方法啊@3274:
我也是分开文件,设备tcp与gatewayworker连接。然后网页端用websocket与gatewayworker连接。正在测试中