using System;
using MQTTnet;
using MQTTnet.Server;
class Program
{
static async System.Threading.Tasks.Task Main(string[] args)
{
// 创建MQTT服务器选项
var mqttFactory = new MqttFactory();
var mqttServer = mqttFactory.CreateMqttServer();
// 配置服务器选项
var optionsBuilder = new MqttServerOptionsBuilder()
.WithDefaultEndpointPort(1883) // 设置默认端口为1883
.WithConnectionValidator(context =>
{
Console.WriteLine($"客户端连接: {context.ClientId}");
context.ReasonCode = MQTTnet.Protocol.MqttConnectReasonCode.Success;
})
.WithApplicationMessageInterceptor(context =>
{
Console.WriteLine($"收到消息: Topic={context.ApplicationMessage.Topic}, Payload={System.Text.Encoding.UTF8.GetString(context.ApplicationMessage.Payload)}");
});
// 启动MQTT服务器
await mqttServer.StartAsync(optionsBuilder.Build());
Console.WriteLine("MQTT服务器已启动,按任意键停止...");
Console.ReadKey();
// 停止MQTT服务器
await mqttServer.StopAsync();
}
}
MqttFactory创建一个MQTT服务器实例。MqttServerOptionsBuilder配置服务器的各种选项,例如端口号、连接验证器和消息拦截器。StartAsync方法启动MQTT服务器,并监听指定的端口(默认1883)。StopAsync方法停止服务器。上一篇:c# threadpool
下一篇:c#字符串转16进制
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站