1,用户(13969)在手机上点击按钮发送{"type":"user","uid":"1234","command":"02 03 05 d5 aa 52 d5"}给服务器,
2,通过服务器再把指令(02 03 05 d5 aa 52 d5)发送给dtu设备(2002),
3,dtu设备向服务器返回一个指令(02 03 05 d5 aa 52 d6),
4,服务器收到指令后,我想通过sendtouid()发送给用户,告知用户设备正常可以使用。
5,可是dtu设备向服务器返回的就一个指令(02 03 05 d5 aa 52 d6),我能获取到的就是dtu设备的uid、client_id,用户的uid我没法获取。这个怎么处理?
用户发送的包
{"type":"user","uid":"1234","command":"02 03 05 d5 aa 52 d5"}
里不就有用户uid吗? 从onMessage($connection, $data)回调里解包$data就可以了啊。感谢百忙之中回复。只是dtu设备向服务器返回的就一个指令(02 03 05 d5 aa 52 d6),我能获取到的就是dtu设备的uid、client_id,用户的uid我没法获取。如果设备可自定义我是可以获取的。
onMessage($connection, $data){
$data="02 03 05 d5 aa 52 d5";
$connection可以获取client_id;
}
如果参数里面有用户(13969)的值我就可以sendtoUid('13969','02 03 05 d5 aa 52 d5'),告知用户端(js)这个设备是否正常。
这么说吧,如果你要用SendToUid()接口的话,那无论是用户端还是设备端都必须主动上报各自的业务uid比如你说的用户ID。
你不绑定设备是用户的吗? 就比如扫码后就绑定这台设备是这个用户的归还后解除绑定 如果是永久使用那就更好了绑定即可 这样你接收数据和发送数据都是很简单了 不然你这样弄我怎么知道要发给谁呢? 就比如两个(N)人同时使用两台设备你是怎么区别谁使用的是那一台设备呢?
感谢百忙之中回复,我用的mysql解决的。