无法使用 MQTTNet 库 .net core 与代理连接

问题描述

我需要帮助,我无法与经纪人联系。 我在我的 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。

有什么想法吗?错误是“客户端未连接”

enter image description here

解决方法

C# 不是我用过的语言,但我假设您在 await 之前缺少 mqttClient.ConnectAsync(options,CancellationToken.None);,因此其余代码在尝试发送之前等待连接完成留言