MQTT错误码 说明及解决方法/安装教程

admin 2022-8-6 434

MQTT错误码

错误码 说明(标粗表示是可能的client错误)

0 成功

---------------------MQTT协议规定的连接错误-------------------------

1 连接拒绝:协议版本不接受

2 连接拒绝:标识符被拒绝

3 连接拒绝:服务不可用

4 连接拒绝:错误的用户名或密码

5 连接拒绝:没有通过认证

---------------------PAHO定义的错误-------------------------

-1 Failure,一般故障,如socket发送失败等

-2 Persistence error,留存错误

-3 Disconnected,断开连接

-4 Maximum in-flight messages amount reached,超过客户端数据并发数

-5 Invalid UTF8 string,检测到无效的UTF-8字符串

-6 Invalid (NULL) parameter,检测到参数空指针

-7 Topic containing NULL characters has been truncated,Topic字符串包含\0字符串,而非完整的Topic

-8 Bad structure,错误的协议结构体

-9 Invalid QoS value,错误的QOS,可接受的为(0,1,2)

-10 Too many pending commands,消息ID大于65535

-11 Operation discarded before completion,完成前丢弃的操作,一般为发送过程中socket断开

-12 No more messages can be buffered,无法缓冲更多的消息

-13 SSL is not supported,SSL不支持

-14 Invalid protocole scheme,错误的协议类型,应该是tcp:// or ssl://

-15 Options for wrong MQTT version,错误的mqtt版本

-16 Client created for another version of MQTT,mqtt客户端是用另外的MQTT版本创建的


欢迎联系本站长QQ:3216572
最新回复 (1)
  • admin 2022-8-16
    2
    使用MQTT需要用到对应的Broker,这里以EMQ为例,基于docker进行安装。在执行以下操作之前,需要先在本机安装好docker,如果有权限限制,可在下面docker命令前添加sudo来获取执行权限。

    搜索&下载
    执行search命令找到对应的镜像:

    docker search emqx
    对应搜索结果:

    NAME                          DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
    emqx/emqx                     EMQ X Broker - Scalable and Reliable Real-ti…   97
    emqx/emqx-ee                  EMQ X Enterprise - Massively Scalable MQTT M…   5
    emqx/emqx-edge                EMQ X Broker - Massively Scalable MQTT Messa…   1
    emqx/kuiper                   A lightweight IoT edge analytics software ht…   1
    这里采用第一个镜像emqx/emqx。

    通过pull命令下载对应的镜像:

    docker pull emqx/emqx
    可在终端中执行docker images来检查是否加载成功:

    docker images
    启动emqx容器
    执行以下命令,启动容器:

    docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx
    其中,1883:MQTT协议端口;8883: MQTT/SSL端口;8083: MQTT/WebSocket端口;8080: HTTP API端口;18083: Dashboard 管理控制台端口;

    验证
    执行完成之后,可在浏览器输入http://localhost:18083/ 来访问对应的管理后台。默认的登录用户名:admin,密码:public。
返回