MQTTX客户端收不到共享订阅消息

使用官网的docker-compose文件拉起的emq双节点

version: '3'

services:
  emqx1:
    image: emqx:5.5.0
    container_name: emqx1
    environment:
    - "EMQX_NODE_NAME=emqx@node1.emqx.io"
    - "EMQX_CLUSTER__DISCOVERY_STRATEGY=static"
    - "EMQX_CLUSTER__STATIC__SEEDS=[emqx@node1.emqx.io,emqx@node2.emqx.io]"
    healthcheck:
      test: ["CMD", "/opt/emqx/bin/emqx ctl", "status"]
      interval: 5s
      timeout: 25s
      retries: 5
    networks:
      emqx-bridge:
        aliases:
        - node1.emqx.io
    ports:
      - 1883:1883
      - 8083:8083
      - 8084:8084
      - 8883:8883
      - 18083:18083 
    # volumes:
    #   - $PWD/emqx1_data:/opt/emqx/data

  emqx2:
    image: emqx:5.5.0
    container_name: emqx2
    environment:
    - "EMQX_NODE_NAME=emqx@node2.emqx.io"
    - "EMQX_CLUSTER__DISCOVERY_STRATEGY=static"
    - "EMQX_CLUSTER__STATIC__SEEDS=[emqx@node1.emqx.io,emqx@node2.emqx.io]"
    healthcheck:
      test: ["CMD", "/opt/emqx/bin/emqx ctl", "status"]
      interval: 5s
      timeout: 25s
      retries: 5
    networks:
      emqx-bridge:
        aliases:
        - node2.emqx.io
    # volumes:
    #   - $PWD/emqx2_data:/opt/emqx/data

networks:
  emqx-bridge:
    driver: bridge

Dashboard中确认开启了共享订阅,后使用MQTTX客户端测试如下:

  1. 建立两个连接,创建共享订阅: $share/xx/t/#

  2. 创建第三个连接向主题: /t/1 发送消息,共享订阅没有生效,没收到任何消息

  3. 客户端连接切换到 broker.emqx.io 重试也无法收到共享消息

默认的配置是支持共享订阅的,
你可以按照这个文档一步步试一下,我刚试了下可以。
PS:检查一下你的dashboard上的mqtt共享订阅那是不是关了,(不过你说broker.emqx.io也不行,那就绝对是你的步骤有问题,我本地和 broker.emqx.io都试了,都是可以的)


与MQTTX的版本是否有关系呢?您使用的是哪个版本可以提供一下吗?感谢回复

这个是基础功能,应该和版本没有太大的关系吧,
我是刚更新的MQTTX最新版本。Version: v1.9.9

解决了,我投递消息的时候使用 /t/1就不行,但是t/1这个topic就是可以的,感谢

1 个赞