workerman如何做到实时通讯

万象初新

假设 有个人脸设备A,和一个浏览器B,当 A端向workerman传送数据后,进行接收,并把数据实时显示到 浏览器中,(相当于workerman作为一个中间件来使用),请问这个代码应该如何实现??

1685 1 0
1个回答

xiuwang

用workerman的gatewayWorker,它非常适合做物联网,可以支持多个协议,给设备设置一个TCP协议,给网页设置一个websocket协议。

设备通过tcp连上来之后给GatewayWorker发一个设备id,Events.php里利用 Gateway::bindUid($client_id, '设备id'); 执行绑定。
网页通过websocket连上来之后发送自己的一个类似uid的标记,Events.php里同样利用 Gateway::bindUid($client_id, 'uid'); 执行绑定。

然后设备发数据给GatewayWorker,GatewayWorker里Events.php里就可以通过Gateway::sendToUid('uid' ,数据);给对应浏览器发数据。同样的,浏览器里通过websocket发来数据,Events.php里就可以通过Gateway::sendToUid('设备id' ,数据);发给对应设备,这样就可以设备和浏览器之间互相通讯了。

这里有GatewayWorker多协议部分的手册 http://doc2.workerman.net/multi-protocols.html

  • 暂无评论
年代过于久远,无法发表回答
🔝