问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Android 中使用MQTT(第一篇)

发布网友 发布时间:2022-11-20 17:57

我来回答

1个回答

热心网友 时间:2024-12-04 15:05

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议。它是一种发布/订阅,极其简单和轻量级的消息传递协议,专为受限设备和低带宽,高延迟或不可靠的网络而设计。它的设计思想是轻巧、开放、简单、规范,易于实现。这些特点使得它对很多场景来说都是很好的选择,特别是对于受限的环境如机器与机器的通信(M2M)以及物联网环境。相对于XMPP,MQTT更加轻量级,并且占用的宽带低。

MQTT协议有以下特点:

那么问题来了?重连连接成功后重复接收到最后一条消息
MQTT推送消息订阅端重复接收问题。
(背景)订阅端断开的时候,发布端多次推送消息。
(现象)订阅端启动时,接收到最后一条推送消息有两次;即使Qos设置为2;依然是两次。
经排查是因为
MqttMessage的Retained设置为了true;
该值很多文章上只说了是 消息保留机制,若设置为true,mqtt服务器会保留每次发布的消息;较少提到 若订阅某主题的客户端重启,则会把此主题之前发布的消息重新推送到客户端。该值默认为false;去掉修改该值即可
那么问题来了?重连连接后手动那么多遗漏的消息,怎么选择只接收最新的一条消息呢?
MQTT推送消息订阅端重复接收问题。
(背景)订阅端断开的时候,发布端多次推送消息。
(现象)订阅端启动时,接收到msg1,msg2,msg3 (这三个消息都是同一个类型消息,只需要处理最新的msg3就好,不然界面会刷新三次)这个谁有什么好办法没呢?

GitHub地址: https://github.com/eclipse/paho.mqtt.android
mqtt的官方文档: http://mqtt.org/documentation
Github上有中文翻译: https://github.com/mcxiaoke/mqtt

在mole的build.gradle文件中添加依赖

在 AndroidManifest.xml 添加限权

在 AndroidManifest.xml 注册Service (MyMqttService为自己写的服务,下文会讲到)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女人梦见蛇的七大预兆解梦 PHOTOSHOP 怎么把眼睛点大 这些月销量10000+的防晒霜,是噱头还是真的好用? 大宝水凝保湿防晒露适合哪些肤质的人使用? 拥有人口过亿的国家最多的大洲是( )A.非洲B.亚洲C.欧洲D.大洋 世界国家最多的大洲是:( ) A.亚洲 B.大洋州 C.非洲 D.欧 拥有人口过亿的国家最多的大洲是:( ) A.非洲 B.亚洲 C.欧洲 D.大洋 餐厅一般中餐都有哪些摆台要求和标准 如何做味道正宗的中餐? 河南文科跟理科高考分数线相差多少 微信充值100手续费多少 在时尚圈,条纹衫好像永不过时,条纹衫应该如何穿搭? 果栏中的江湖大嫂更新时间,什么时候上映,播出时间 怀念个性说说句子 皮带减速机一次加注多少齿轮油 zd40减速机加多少齿轮油 北方重工22o6旋挖机卷扬减速机加多少齿油 北汽新能源ec200减速器加多少油 杭州社保补缴怎么操作?要带哪些材料? 自然纹眉之后要注意哪些 一个硅原子的原子量是多少? 是28*10^-27 还是28*10-24 二氧化硅原子量多少.请给正确答案 OPPO手机接听筒声音怎么那么小 火车能不能带幼猫 火车可不可以带幼猫 美国GNC保健品好不好? gnc健安喜公司倒闭了吗、停产了吗,美国gnc保健品辟谣了吗 gnc是什么牌子的保健品,美国健安喜属于什么档次、和nowfoods哪个好_百 ... ISO90001不同的发证机关有什么区别吗? ...不同的认证公司做效果会有有区别吗?都有什么区别,对工厂有什么影响... 华为畅享50pro和华为畅享50plus手机壳一样吗 休叔为“贱贱”庆生手举小蛋糕送祝福,这两人都演过哪些经典角色?_百度... 死侍救活金刚狼哪一集 《死侍deadpool》娱乐至死,颓废之美,另类的韦德 死侍韦德·威尔森的扮演者是谁 双色球10+1奖金有多少? 10十1双色球怎么买复式号 问下6-7K预算能买什么样的电竞显示器,双十一有优惠吗? 描写中秋圆月的唯美句子 50句哲理内涵qq个性说说人生感悟 早安短句文案 早安短句文案有哪些 龙的电压力锅加热几秒后继电器乱跳? 大灰狼远程控制只能控制自己,在别的电脑启动木马无法上线,怎么解决_百度... 龙的电压力锅煲粥旳时候锅旳一圈出气是怎么回事,求解 大灰狼远控怎样生成木马,详细配置教程 洛神花茶的功效和作用洛神花茶可以每天喝吗 洛神花茶可不可以天天喝 有关童年的作文:木马 龙的电压力锅nk-ds516.我的本型号的两块线路板好像坏了,插上电一直闪... 用德国小红帽查出的 front.sys 木马病毒总是山不掉,怎么办? 辽宁省医保怎么撤销备案 当我把龙的YL-J50B电压力锅的电插头插入电插座(插座开关还没按开),保...