概述
Timed out as no activity
client告诉emqx服务自己的接收buffer已满,不要再发送数据了。同理心跳包也不能发送了 ,emqx服务收不到心跳包,认为客户端已不存活,故主动断开了连接。
问题解决原则:Client 加快程序的处理速度
1、多线程处理 2、消息缓存起来
参考:https://blog.csdn.net/u012134942/article/details/103965155
连接数超过1000出现服务挂掉
解决办法最大句柄数问题: ulimit -u 100000 调整
参考网址:https://www.cnblogs.com/xiaoshahai/p/14718892.html
broker遇到问题重启,所有的 client端都得重连
connOpts.setAutomaticReconnect(true); //mqttClient.reconnect(); 方法会判断这个参数
connOpts.setConnectionTimeout(0); //防止 ERROR o.e.p.c.mqttv3.internal.ClientState - Timed out as no activity 错误
connOpts.setCleanSession(false); //服务端记录 session (自己手动重新subscribe ,可能设置为true也行)
最后
以上就是英俊钢笔为你收集整理的emqx 问题集锦的全部内容,希望文章能够帮你解决emqx 问题集锦所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复