我正在尝试使webapp的颤振,这将连接到蜂巢经纪人。我从官方网站上取了代理名称,将端口号设置为8000,就像上面提到的一样,但仍然得到如下错误消息:
错误是mqtt-client::NoConnectionException:超过了允许的最大连接尝试({1})。代理没有响应连接请求消息(缺少连接确认?
我真的不知道该怎么做。有人能帮忙吗?下面是我的代码:
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;
}
}
}
发布于 2022-10-25 10:05:49
端口8000可能是打开的,但是HiveMQ代理可能没有监听。确保代理完全引导并绑定到该IP:Port。
在HiveMQ broker启动输出中,您应该看到类似于:
Started Websocket Listener on address 0.0.0.0 and on port 8000
如果需要的话,HiveMQ代理配置文档在这里。
您可以使用公共HiveMQ MQTT Websocket演示客户端来测试您的连接,以确保它不是本地代码问题。
作为最后一种选择,使用Wireshark来使用tcp.port == 8000 and mqtt
过滤器监视MQTT流量。
https://stackoverflow.com/questions/72264669
复制相似问题