在线状态显示的是离线,但是app端却一直发着心跳,这是什么情况,而且能接受到设备发过来的信息

username
public function te1111($mac)
{
    echo Gateway::isUidOnline($mac);
}

随便写了个方法检测设备的在线离线他显示的是离线 
 
但是我还写了个方法来监听设备和后台的交互的内容功能,监听到设备是可以发过来消息的,这是什么情况,如果离线了是不是应该是接收不到设备发过来的消息呢

3308 1 0
1个回答

blogdaren

先确定是否  bindUid() 了?

  • username 2018-11-28

    我找到问题了,但是没有解决方案,绑定就绑定不成功,我单独拎出来也是绑定不成功,我要绑定的一个mac地址就是在本地绑定没问题,线上就不行,单独执行
    Gateway::bindUid('7f0000010b5900000006','14:6b:9c:5d:37:a6');
    Gateway::sendToUid('14:6b:9c:5d:37:a6',123);
    执行这个消息能发过去,但是绑定没成功 这什么情况

  • blogdaren 2018-11-29

    1、消息都是异步发送的,消息发送出去并不代表发送成功了
    2、绑定没成功,说明对应的客户端已经离线了,这时候发送的消息才能说明是失败的

  • username 2018-11-29

    消息是我再在前端接收到的之前描述的问题不对,就是后面单独去执行绑定是能绑定成功的
    我这边是偶尔就会出现一个设备死活绑定不成功,也不确定是哪个设备,就稀里糊涂绑定不成功了,有点像是两个服务器在提供服务一样,返回的信息就剩下心跳啥都没了

年代过于久远,无法发表回答
🔝