src/sample/XXX.Plugin.MQTTServer/StartTask/MQTTServerTask.cs
(开头部分) 7KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using MQTTnet;
using MQTTnet.Client.Receiving;
using MQTTnet.Protocol;
using MQTTnet.Server;
using System.NetPro;
using System.Text;
namespace XXX.Plugin.MQTTServer.StartTask
{
/// <summary>
/// MQTTClientTask
/// </summary>
public class MQTTServerTask //: IStartupTask
{
public MQTTServerTask()
{
}
public int Order => 0;
public void Execute()
{
var optionsBuilder = new MqttServerOptionsBuilder()
.WithDefaultEndpointReuseAddress()
.WithDefaultEndpointPort(1883)
.WithConnectionValidator(
c =>
{
//比对连接的账户密码与配置是否匹配
//c.ClientId //针对于clientid做校验
var currentUser = new { UserName = "netpro", Password = "netpro" };
if (currentUser == null)
{
c.ReasonCode = MqttConnectReasonCode.BadUserNameOrPassword;
c.ReasonString = $"用户不合法";
Console.WriteLine($"用户不存在");
return;
}
if (c.Username != currentUser.UserName)
{
c.ReasonCode = MqttConnectReasonCode.BadUserNameOrPassword;
c.ReasonString = $"用户不合法";
Console.WriteLine($"用户不存在");
return;
}
if (c.Password != currentUser.Password)
{
c.ReasonCode = MqttConnectReasonCode.BadUserNameOrPassword;
c.ReasonString = $"用户不合法";
Console.WriteLine($"密码错误");
return;
}
c.ReasonCode = MqttConnectReasonCode.Success;
Console.ForegroundColor = ConsoleColor.DarkGreen;
Console.WriteLine($"客户端[{c.ClientId}]验证通过");
Console.ResetColor();
后面还有 92 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。