遇到一个很棘手的问题,在使用GatewayWorker时:
硬件设备与服务端之间必须通过TCP来进行通信,服务端获取了硬件设备发送过来的数据后,需要转发给客户端,而客户端与服务端建立之间又必须通过webScoket来进行通信。
请问如何这个时候该如何进行处理呢?就很懵逼这里
2021/03/29 19:11
可能各位大佬理解错了我的意思,我想实现的内容:
1、首先硬件设备与服务端之间通过TCP进行握手,握手成功;
2、服务端将指令发送给硬件设备,硬件接收到相应指令后开始向服务端一直发送某一数据包;
3、服务端接收到这些数据包后进行解析,解析完毕后,将这些数据实时转发给客户端,但是客户端与服务端之间是通过WebSocket来实现长连接;
因此,这一步我就卡住了,不知道以什么样的方式将硬件设备传输过来的数据通过WebSocket转发至客户端;希望各位有过此类项目经验的大佬,教教小弟弟!
这没有任何蛋疼的地方啊, 硬件和你的服务器对接, 你把数据保存到db或者cache里面, 然后在db或者cache里面,在取出数据通过ws协议给到你的客户端,妥妥的解决
这个思路阔以,我去尝试一下,看行不行,感谢这位大佬!
直接在event.php里面处理 根据类型去区分是设备还是网页
请问如何在Events.php中区分是设备还是网页呢?
网页发送的内容肯定是知道的吧,加一个字段去区分一下
设备一般发送过来的数据是进制数据需要转化
我在里面通过端口来进行判断了,发现也是可行的,但问题是两个服务中的代码几乎一模一样
两个服务???不是走一个event里面吗?
只要是web发过来的就转给设备