首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >由于缺少conack包,MqttBrowserClient无法连接。

由于缺少conack包,MqttBrowserClient无法连接。
EN

Stack Overflow用户
提问于 2022-05-16 19:32:17
回答 1查看 139关注 0票数 0

我正在尝试使webapp的颤振,这将连接到蜂巢经纪人。我从官方网站上取了代理名称,将端口号设置为8000,就像上面提到的一样,但仍然得到如下错误消息:

错误是mqtt-client::NoConnectionException:超过了允许的最大连接尝试({1})。代理没有响应连接请求消息(缺少连接确认?

我真的不知道该怎么做。有人能帮忙吗?下面是我的代码:

代码语言:javascript
运行
复制
MqttBrowserClient mq = MqttBrowserClient(
    'wss://broker.mqttdashboard.com:8000', '',
    maxConnectionAttempts: 1);

/*

MqttBrowserClient mq = MqttBrowserClient('ws://test.mosquitto.org', 'client-1',
    maxConnectionAttempts: 1);

 */
class mqttService {
  Future<MqttBrowserClient?> connectToServer() async {
    try {
      final connMess = MqttConnectMessage()
          .withClientIdentifier('clientz5tWzoydVL')
          .authenticateAs('a14guguliye', 'z5tWzoydVL')
          .withWillTopic('willtopic')
          .withWillMessage('My Will message')
          .startClean() // Non persistent session for testing
          .withWillQos(MqttQos.atLeastOnce);

      mq.port = 1883;
      mq.keepAlivePeriod = 50;
      mq.connectionMessage = connMess;
      mq.websocketProtocols = MqttClientConstants.protocolsSingleDefault;
      mq.onConnected = onConnected;

      var status = await mq.connect();
      return mq;
    } catch (e) {
      print("error is " + e.toString());
      mq.disconnect();
      return null;
    }
  }
}
EN

回答 1

Stack Overflow用户

发布于 2022-10-25 10:05:49

端口8000可能是打开的,但是HiveMQ代理可能没有监听。确保代理完全引导并绑定到该IP:Port。

在HiveMQ broker启动输出中,您应该看到类似于:

代码语言:javascript
运行
复制
Started Websocket Listener on address 0.0.0.0 and on port 8000

如果需要的话,HiveMQ代理配置文档在这里

您可以使用公共HiveMQ MQTT Websocket演示客户端来测试您的连接,以确保它不是本地代码问题。

作为最后一种选择,使用Wireshark来使用tcp.port == 8000 and mqtt过滤器监视MQTT流量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72264669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档