首先,打开M2Mqtt这个项目,打开MqttClient这个类,修改KeepAliveThread()这个线程方法,将thiskeepAliveEventWaitOne(wait);改为thiskeepAliveEventWaitOne(1000);,这是要求等待时间从原来的60000改为1000,也就是1分钟改为1秒钟。修改注释掉if (delta >= thiskeepAlivePeriod)这个语句,包括块else里的内容,一起注释掉,这个方法下面,加上thisPing();这个是保证在不能保证时间是否超时之前,强行去执行Ping校验,通过校验结果判断是否关闭Mqtt。
第二,在外部调用时,在M2Mqtt连接成功时,开启一个线程,循环监控当前连接状态,如果连接断开,重新连接,这个时候,一定要记住当前连接的Clientid、user、password、订阅主题和发布主题等信息,以免不能够及时连接后,接收后续的消息。因为在mqtt判断ping连接断开后,mqtt内部会自动断开连接,所以这个时候,我们不用手动去断开连接,但重连时,mqtt会自动搜索当前的clientid,所以这个时间有些长,而且第一次时会抛出错误,第二次连接时,才会成功,这个具体机制没有研究您好,三星m21s是三星电子推出的一款中档机型,它采用65英寸超大全面屏,搭载Exynos 980 8nm处理器,搭配8GB内存+128GB存储,拥有4800万+800万双摄,支持25W快充,支持NFC,支持指纹解锁,支持蓝牙50,支持WiFi 6,支持GPS,支持5G网络,支持NFC,支持指纹解锁,支持蓝牙50,支持WiFi 6,支持GPS,支持5G网络,支持NFC,支持指纹解锁,支持蓝牙50,支持WiFi 6,支持GPS,支持5G网络,支持4G网络,支持3G网络,支持2G网络,支持蓝牙50,支持WiFi 6,支持GPS,支持5G网络,支持4G网络,支持3G网络,支持2G网络,支持蓝牙50,支持WiFi 6,支持GPS,支持5G网络,支持4G网络,支持3G网络,支持2G网络,支持蓝牙50,支持WiFi 6,支持GPS,支持5G网络,支持4G网络,支持3G网络,支持2G网络,支持蓝牙50,支持WiFi 6,支持GPS,支持5G网络,支持4G网络,支持3G网络,支持2G网络,支持蓝牙50,支持WiFi 6,支持GPS,支持5G网络,支持4G网络,支持3G网络,支持2G网络,支持蓝牙5
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)