我用GatewayWoker通过TCP协议与硬件通信,目前已经实现,现在有一个问题,比如有这么一个场景:硬件发送一条关门的指令,网页上就展示一个门关闭的图片,即时性比较强,这该如何实现?
流程就是:硬件上传了一条指令1001,是关门的指令,GatewayWoker接收到了这条指令,但是怎么告诉Web端?
方法有很多,举个例子你参考下:
1、新增一个webGatewayWorker专门用于WEB端服务:
new Gateway("websocket://0.0.0.0:9999")
2、events.php的onConnect中将9999端口的client_id加入固定群组如:
9999 == $_SERVER['GATEWAY_PORT'] && Gateway::joinGroup($client_id, 'web');
3、events.php的onMessage中转发硬件指令:
Gateway::sendToGroup('web', "硬件指令");
请问是直接在原来的start_gateway.php加入new Gateway("websocket://0.0.0.0:9999") 这个吗? 一个TCP链接,一个websocket连接?
是的; 当然也可以新建一个脚本独立new Gateway实例。
方法有很多,举个例子你参考下:
1、新增一个webGatewayWorker专门用于WEB端服务:
2、events.php的onConnect中将9999端口的client_id加入固定群组如:
3、events.php的onMessage中转发硬件指令:
请问是直接在原来的start_gateway.php加入new Gateway("websocket://0.0.0.0:9999") 这个吗? 一个TCP链接,一个websocket连接?
是的; 当然也可以新建一个脚本独立new Gateway实例。