src/Library/NetPro.MQTTClient/readme.md

(开头部分) 4KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。


# NetPro.MQTTClient 使用
 [![NuGet](https://img.shields.io/nuget/v/NetPro.MQTTClient.svg)](https://nuget.org/packages/NetPro.MQTTClient)

MQTT客户端类库,支持多服务端,完整示例
## 使用
安装引用NetPro.MQTTClient

先增加如下配置

> clientid不指定自动生成,如手动指定必须保证在broker中唯一!

```json
"MQTTClientOption": {
		"ConnectionString": [
			{
				"Key": "1", //连接串key别名,唯一
				"Value": "clientid=netpro;host=mqtt://127.0.0.1:1883;username=netpro;password=netpro;timeout=5000;keepalive=120;cleansession=true;" //别名key对应的连接串
			}
		]
	}
```
### 1、基于NetPro.Startup基座

增加环境变量
ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=NetPro.Satrtup 

### 2、无依赖使用

```csharp
public void ConfigureServices(IServiceCollection services)
{ 
   services.AddMQTTClient(configuration);      
}
```
> 当想自定义连接字符串获取方式时,无论是否基于NetPro.Web.Api, 都能通过传入委托来自定义连接字符串获取方式:

```c#
public void ConfigureServices(IServiceCollection services)
{
    services.AddMQTTClient(GetConnectionString);
}

 public IList<ConnectionString> GetConnectionString(IServiceProvider serviceProvider)
 {
     var connector = new List<ConnectionString>();
     connector.Add(new ConnectionString { Key = "2", Value = "clientid=netpro;host=mqtt://192.168.100.187:1883;username=netpro;password=netpro;timeout=5000;keepalive=2;cleansession=true;" });
     return connector;
 }
```
##### 服务注入使用
发布者
```csharp 

 public class HttpProxyController : ControllerBase
    {
        private readonly ILogger _logger;
        private readonly  IMqttClientMulti _mqttClientMulti;
        //构造函数注入
        public HttpProxyController(
后面还有 70 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。