MQTTNet.Client
1.0.9
See the version list below for details.
dotnet add package MQTTNet.Client --version 1.0.9
NuGet\Install-Package MQTTNet.Client -Version 1.0.9
<PackageReference Include="MQTTNet.Client" Version="1.0.9" />
paket add MQTTNet.Client --version 1.0.9
#r "nuget: MQTTNet.Client, 1.0.9"
// Install MQTTNet.Client as a Cake Addin #addin nuget:?package=MQTTNet.Client&version=1.0.9 // Install MQTTNet.Client as a Cake Tool #tool nuget:?package=MQTTNet.Client&version=1.0.9
基于MQTTNet二次开发的MQTTClient(MQTT客户端)
***************************说明**************************************************
1.0.2:
去掉 Microsoft.Extensions.DependencyInjection 的依赖避免出现兼容性问题
1.0.3
解决多层继承前端无法获取到数据的问题
1.0.4
1、增加标识(int类型)使用多个MQTTClient时 使各个连接对象过滤掉不必要监听的主题
2、基类中增加连接对象 可通过this.Client 直接调用
3、增加 PublishBinary 发布函数
4、增加 MpscChannel 信号通道 用来跨线程通讯
1.0.6
1、RouterAttribute 标识位放在最后一位
2、MQTTNetClient InitMQTTClient 函数中增加MQTT版本选择 3.10 3.11 5.00
1.0.7
1、优化对外委托部分
1.0.8
1、订阅委托时增加路由模块
1.0.9
1、增加Publish重载函数 作用:同步返回发布消息后的返回
********************************************************************************
使用示例(示例所用为WorkService):
********************************************************************************
Program.cs
using example;
using MQTTNet.Client;
var builder = Host.CreateApplicationBuilder(args);
var service = builder.Services;
service.AddHostedService<Worker>();
var host = builder.Build();
host.Run();
********************************************************************************
Worker.cs
using MQTTNet.Client.Attributes;
using MQTTNet.Client.Model;
using MQTTNet.Client.Common;
using MQTTNet.Client.Enums;
namespace example
{
public class Worker : BackgroundService
{
private readonly ILogger<Worker> _logger;
public Worker(ILogger<Worker> logger)
{
_logger = logger;
}
IMQTTNetClient client = null;
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
IMQTTNetClient client = new MQTTNet.Client.MQTTNetClient("127.0.0.1", 6688, UserName: "admspay", Password: "admscarpays", Identity: 2);
if (await client.Connection())
_logger.LogInformation("连接成功");
await client.Subscribe("+/device/message/up/ivs_result", "GetData", typeof(aaaa));
IMQTTNetClient clients = new MQTTNet.Client.MQTTNetClient("127.0.0.1", 9900, UserName: "", Password: "",Identity: 0);
await clients.Connection();
}
}
public class aaaa : ReceivedModel {
public async Task GetData(test resultR3)
{
if (resultR3 == null)
return;
Console.WriteLine($@"a:{resultR3.ObjectToJson()}");
Console.WriteLine($@"主题:{this.Topic}");
Console.WriteLine($@"原始字符串:{this.Content}");
await Task.CompletedTask;
}
}
public class MQTTData : ReceivedModel {
[Router("+/device/message/up/ivs_result" ,_qos:QOSEnum.ExactlyOnce, _identity:0)]
public async Task GetData(test resultR3)
{
if (resultR3 == null)
return;
Console.WriteLine($@"a:{resultR3.ObjectToJson()}");
Console.WriteLine($@"主题:{this.Topic}");
Console.WriteLine($@"原始字符串:{this.Content}");
await Task.CompletedTask;
}
[Router("+/Synchronous/VehicleRegist", _qos: MQTTNet.Client.Enums.QOSEnum.ExactlyOnce,_identity: 2)]
public async Task Env_VehicleRegistMQTT(ReceeivedProgramdata obj)
{
this.Client.Publish(obj.ReTopic, new
{
Tag = 0,
Message = "123321",
Description = string.Empty,
Total = 0
}.ObjectToJson());
}
}
public class test
{
public Guid strc { get; set; }
public string? strs { get; set; }
public string? stra { get; set; }
public List<test1> array { get; set; }
}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- MQTTnet (>= 4.3.7.1207)
- System.Text.Json (>= 8.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.