递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库

【MQTT3.1.1客户端】协议封装,无三方模块 - MQTT Client For Voldev

查看数: 10633 | 评论数: 27 | 收藏 3
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2023-2-24 01:07

正文摘要:

本帖最后由 leing 于 2024-2-24 12:05 编辑 请转移最终版 基于【HPSocket网络通讯支持】模块 直接开源,方便大家了解MQTT协议,我也打包模块了直接引用就能用 例子呢也没有什么好写的就那几个函数简单易懂。 ...

回复

leing 发表于 2024-1-20 14:46:32
本帖最后由 leing 于 2024-1-20 15:04 编辑
zgj9911 发表于 2023-9-9 12:52
数据包大于1400字节时会收到多个包,好像得组包,可惜我不会,希望楼主能更新一下 ...

已修复数据量大于127则数据卡住。
关于Qos为1或2卡住也是因为数据量超出了127,导致无法发送
现已修复数据量达到最大值(268435455)

感谢@hq881128 提出解决方案
MQTT.v (149.65 KB, 下载次数: 10)

MQTT Client For Voldev: MQTT Client For Voldev (gitee.com)
zgj9911 发表于 2023-10-30 19:04:28
谢谢楼主:噜阿噜
hq881128 发表于 2023-10-30 13:58:11
本帖最后由 hq881128 于 2023-10-30 14:05 编辑
zgj9911 发表于 2023-9-9 12:52
数据包大于1400字节时会收到多个包,好像得组包,可惜我不会,希望楼主能更新一下 ...







在他其基础增加了两个方法,解码和编码,之前接收超过长度就会卡死。


现在最多能处理16383个字节的数据了,需要更多的对着协议可自己改。
另外这东西还是有很多问题不能在项目上用,测试用应该没问题,我用来做了小工具能用。



MQTT.v

142.44 KB, 下载次数: 16

zgj9911 发表于 2023-9-9 12:52:02
数据包大于1400字节时会收到多个包,好像得组包,可惜我不会,希望楼主能更新一下
hq881128 发表于 2023-8-1 14:52:56
这个是我发送的文本  :
{
  "ModbusID": "6c000000f0de",
  "Type": "Temp",
  "data": [
    {
      "Way": [
        0
      ],
      "Status": [
        1
      ],
      "Mode": [
        1
      ],
      "Fan": [
        3
      ],
      "SetTem": [
        24
      ],
      "CurTem": [
        25
      ]
    }
  ]
}

2023-08-01 14:01:21:940

Topic: client:report/1QoS: 0

{
  "ModbusID": "6c000000f0de",
  "Type": "Temp",
  "data": [
    {
      "Way": [
        0
      ],
      "Status": [
        1
      ],
      "Mode": [
        1
      ],
      "Fan": [
        3
      ],
      "SetTem": [
        24
      ]
      "CurTem" :[
        25
      ]
    }
  ]



hq881128 发表于 2023-8-1 14:51:16
  1. <火山程序 类型 = "通常" 版本 = 1 />
  2. 调试输出 (2222)
  3. 如果 (取字节集长度 (已接收数据) - 2 == 十六进制文本到整数 (取文本中间 (接收数据, 2, 2)))   //数据太长到这里会不真,没处理了
  4. {
  5.     收到消息 (UTF8到文本 (取字节集中间 (已接收数据, 4, 十六进制文本到整数 (字节集到十六进制文本 (取字节集中间 (已接收数据, 2, 2))))), UTF8到文本 (取字节集右边 (已接收数据, 取字节集长度 (已接收数据) - 4 - 十六进制文本到整数 (字节集到十六进制文本 (取字节集中间 (已接收数据, 2, 2))))))
  6. }
复制代码

唐兀 发表于 2023-6-22 19:17:11
十六进制文本到整数(),这个方法在哪里的,没找到
zgj9911 发表于 2023-5-11 20:12:28
Qos为2的时候发送数据会卡住
zgj9911 发表于 2023-5-11 20:08:27
楼主,我的怎么无法收到订阅的数据,而且第二次发送消息就卡住发不出去了

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-15 17:05 , Processed in 0.093361 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表