GatewayWoker如何与Web端通信?

reed

我用GatewayWoker通过TCP协议与硬件通信,目前已经实现,现在有一个问题,比如有这么一个场景:硬件发送一条关门的指令,网页上就展示一个门关闭的图片,即时性比较强,这该如何实现?

流程就是:硬件上传了一条指令1001,是关门的指令,GatewayWoker接收到了这条指令,但是怎么告诉Web端?

阅读 785
1个回答

blogdaren

方法有很多,举个例子你参考下:

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', "硬件指令"); 
  • reed 2020-02-01

    请问是直接在原来的start_gateway.php加入new Gateway("websocket://0.0.0.0:9999") 这个吗? 一个TCP链接,一个websocket连接?

  • blogdaren 2020-02-04

    是的; 当然也可以新建一个脚本独立new Gateway实例。