问题描述
我需要帮助,我无法与经纪人联系。 我在我的 api 项目 .net core 中使用了 MQTTNet 库 这是我的代码:
// GET: api/<SendCommandController>
[HttpGet]
public void Get()
{
var options = new MqttClientOptionsBuilder()
.WithTcpserver("broker.hivemq.com",1883)
.Build();
var factory = new MqttFactory();
var mqttClient = factory.CreateMqttClient();
mqttClient.ConnectAsync(options,CancellationToken.None);
var message = new MqttApplicationMessageBuilder()
.WithTopic("Test/Mqtt")
.WithPayload("Hello World")
.WithExactlyOnceQoS()
.WithRetainFlag()
.Build();
mqttClient.PublishAsync(message,CancellationToken.None);
}
所以我按照教程操作,但无法连接到代理 hivemq,也无法连接到我的个人代理。 所以,我用 mqtt.fx 测试了 hivemq 代理并且工作正常。 仅在代码中返回连接 = false。
有什么想法吗?错误是“客户端未连接”
解决方法
C# 不是我用过的语言,但我假设您在 await
之前缺少 mqttClient.ConnectAsync(options,CancellationToken.None);
,因此其余代码在尝试发送之前等待连接完成留言