完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
发送了一次请求连接包文收到了回复但是回复数据后粘包了之前4GMQTT的包文程序实现的是4G和LAN的切换在重新申请MQTT连接LAN前已经挂起了4G任务不知道为什么还会接收到4G应该接收的包文。 4G使用的是SOCKET1和LAN使用的是SOCKET0
不知道为什么设备重启了内存泄漏了吗还是MQTT数据包解析不成功返回的数据粘包了或者说是4G影响到了LAN |
|
相关推荐
3个回答
|
|
4G和LAN网线是在同一个设备上的,有网线,有网络就使用LAN,没有就使用4G。还是说设备订阅topic后,之前4G发送的请求天气的命令,服务器回复后,也会回复给LAN?LAN和4G都订阅了服务器上的同一个topic。
|
|
|
|
lan模式下的数据接收函数,服务器向设备发送的下行数据使用的是 QoS 1
|
|
|
|
201000004012223+CMQTTDISC: 1[lan] Connected to MQTT broker: mqtt://192.168.1.100:1883[lan] Sending CONNECT message[lan] Received CONNACK message[lan] Sending SUBSCRIBE message[lan] Received SUBACK message[lan] MQTT Connection successful![lan] Sending PUBLISH message[lan] Received PUBACK message[4g] AT+CMQTTPUB=1,1,60OKOK+CMQTTPUB: 1,0+CMQTTRXSTART: 1,25,230+CMQTTRXTOPIC: 1,25downmsg/42201000004012223+CMQTTRXPAYLOAD: 1,23042201000004012223+CMQTTRXSTART: 1,25,230+CMQTTRXTOPIC: 1,25downmsg/42201000004012223+CMQTTRXPAYLOAD: 1,23042 201000004012223+CMQTTDISC: 1[lan] Sending PUBLISH message[lan] Received PUBACK message
分析: 从日志中可以看出,在4G通信中发送了连接请求包文,并收到了回复。 接着,在LAN通信重连成功后,发送了连接请求、订阅请求和发布请求,并都成功地收到了回复。 但是,在LAN通信还没连上之前,4G通信就已经被挂起了,这就说明程序中没有正确处理SOCKET的关闭和切换操作。 另外,在接收4G消息的时候,出现了粘包的情况,这可能是由于4G通信时,未能正确处理分包和合并包的情况导致的。 解决方案: 1. 在切换SOCKET时,确保先关闭旧的SOCKET,再打开新的SOCKET。并在SOCKET关闭时,清空SOCKET的缓冲区。 2. 在读取SOCKET数据时,先判断是否完整接收到了一个完整的数据包,如果没有,则继续等待数据的到来,并正确处理分包和合并包的情况。 3. 在处理MQTT消息包文时,要注意正确区分不同包文之间的分隔符,并处理好粘包和错误的包文情况。 4. 在程序中加入调试日志,并进行适当的调试和测试。 评分 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
852 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
592 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
705 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
926 浏览 2 评论
657 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12009 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 10:00 , Processed in 0.689600 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号