我正在尝试在Xamarin应用程序中使用"MQTTnet“。它连接得很好,但是当我尝试发布任何东西时,它会发布,但大约5秒后,它就会抛出以下异常
MQTTnet.Exceptions.MqttCommunicationTimedOutException我不太确定那里发生了什么,服务器成功地接收到了消息
Server auth xmr/47cd7021-0f32-4cd4-b549-e8ebce2df612 from 192.168.1.8
Client xmr/47cd7021-0f32-4cd4-b549-e8ebce2df612 connected
Total connections: 3
$SYS/POezxDu/new/clients xmr/47cd7021-0f32-4cd4-b549-e8ebce2df612
hello/world hey
Client xmr/47cd7021-0f32-4cd4-b549-e8ebce2df612 disconnected
Total connections: 2
$SYS/POezxDu/disconnect/clients xmr/47cd7021-0f32-4cd4-b549-e8ebce2df612代码如下:
using System;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;
using MQTTnet;
using MQTTnet.Client;
using MQTTnet.Client.Options;
using System.Threading;
namespace MQTTXamarin
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class Login : ContentPage
{
public Login()
{
InitializeComponent();
}
private void Btn_Login_Clicked(object sender, EventArgs e)
{
MqttConnect();
}
/* MQTT */
readonly IMqttClient client = new MqttFactory().CreateMqttClient();
private async void MqttConnect()
{
var options = new MqttClientOptionsBuilder()
.WithClientId("xmr/" + Guid.NewGuid().ToString())
.WithTcpServer("192.168.1.200", 1883)
.WithCredentials("DyPFunIOcljUT51i", "K1YMeKkvrK6yMvm7IlHadBA6JDBKzPGc")
.Build();
await client.ConnectAsync(options, CancellationToken.None);
var message = new MqttApplicationMessageBuilder()
.WithTopic("hello/world")
.WithPayload("hey")
.WithExactlyOnceQoS()
.Build();
await client.PublishAsync(message, CancellationToken.None);
}
}
}是我做错了什么呢,还是这有问题?
发布于 2020-05-21 00:05:29
此问题已通过更改
.WithExactlyOnceQoS()至
.WithAtLeastOnceQoS()https://stackoverflow.com/questions/61894675
复制相似问题