MQTTNet.Client 1.0.4

dotnet add package MQTTNet.Client --version 1.0.4                
NuGet\Install-Package MQTTNet.Client -Version 1.0.4                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MQTTNet.Client" Version="1.0.4" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MQTTNet.Client --version 1.0.4                
#r "nuget: MQTTNet.Client, 1.0.4"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install MQTTNet.Client as a Cake Addin
#addin nuget:?package=MQTTNet.Client&version=1.0.4

// Install MQTTNet.Client as a Cake Tool
#tool nuget:?package=MQTTNet.Client&version=1.0.4                

基于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 信号通道 用来跨线程通讯
********************************************************************************
使用示例(示例所用为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("连接成功");
IMQTTNetClient clients = new MQTTNet.Client.MQTTNetClient("127.0.0.1", 9900, UserName: "", Password: "",Identity: 0);
await clients.Connection();
}
}
public class MQTTData : ReceivedModel {
[Router("+/device/message/up/ivs_result", _identity:0 ,_qos:QOSEnum.ExactlyOnce)]
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",_identity: 2, _qos: MQTTNet.Client.Enums.QOSEnum.ExactlyOnce)]
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 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. 
.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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.4 233 11/20/2024
1.0.3 138 11/14/2024
1.0.2 100 11/6/2024
1.0.1 80 11/5/2024