• 大小: 289KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-09
  • 语言: 其他
  • 标签: MQTTnet  

资源简介

MQTTnet .NET库实现的MQTT 客户端和服务端代码,源程序。可以执行。

资源截图

代码片段和文件信息

using MQTTnet.Core.Server;
using MQTTnet;
using System;
using MQTTnet.Core.Diagnostics;
using System.Threading;
using MQTTnet.Core.Protocol;
using MQTTnet.Core.Adapter;
using System.Text;

namespace MQTT
{
    class Program
    {
        private static MqttServer mqttServer = null;

        static void Main(string[] args)
        {
            MqttNetTrace.TraceMessagePublished += MqttNetTrace_TraceMessagePublished;
            new Thread(StartMqttServer).Start();

            while (true)
            {
                var inputString = Console.ReadLine().ToLower().Trim();

                if (inputString == “exit“)
                {
                    mqttServer?.StopAsync();
                    Console.WriteLine(“MQTT服务已停止!“);
                    break;
                }
                else if (inputString == “clients“)
                {
                    foreach (var item in mqttServer.GetConnectedClients())
                    {
                        Console.WriteLine($“客户端标识:{item.ClientId},协议版本:{item.ProtocolVersion}“);
                    }
                }
                else
                {
                    Console.WriteLine($“命令[{inputString}]无效!“);
                }
            }
        }

        private static void StartMqttServer()
        {
            if (mqttServer == null)
            {
                try
                {
                    var options = new MqttServerOptions
                    {
                        ConnectionValidator = p =>
                        {
                            if (p.ClientId == “c001“)
                            {
                                if (p.Username != “u001“ || p.Password != “p001“)
                                {
                                    return MqttConnectReturnCode.ConnectionRefusedBadUsernameOrPassword;
                                }
                            }

                            return MqttConnectReturnCode.ConnectionAccepted;
                        }
                    };

                    mqttServer = new MqttServerFactory().CreateMqttServer(options) as MqttServer;
                    mqttServer.ApplicationMessageReceived += MqttServer_ApplicationMessageReceived;
                    mqttServer.ClientConnected += MqttServer_ClientConnected;
                    mqttServer.ClientDisconnected += MqttServer_ClientDisconnected;
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    return;
                }
            }

            mqttServer.StartAsync();
            Console.WriteLine(“MQTT服务启动成功!“);
        }

        private static void MqttServer_ClientConnected(object sender MqttClientConnectedEventArgs e)
        {
            Console.WriteLine($“客户端[{e.Client.ClientId}]已连接,协议版本:{e.Client.ProtocolVersion}“);
        }

        private static voi

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    ..A..H.     36864  2018-04-26 16:42  MQTT\.vs\MQTT\v15\.suo

     文件          0  2018-04-11 11:16  MQTT\.vs\MQTT\v15\Server\sqlite3\db.lock

     文件     647168  2018-04-26 16:41  MQTT\.vs\MQTT\v15\Server\sqlite3\storage.ide

     文件      40426  2018-04-26 16:06  MQTT\MQTT\bin\Debug\netcoreapp2.0\MQTT.deps.json

     文件       4608  2018-04-26 16:06  MQTT\MQTT\bin\Debug\netcoreapp2.0\MQTT.dll

     文件        532  2018-04-26 16:06  MQTT\MQTT\bin\Debug\netcoreapp2.0\MQTT.pdb

     文件        263  2018-04-26 16:06  MQTT\MQTT\bin\Debug\netcoreapp2.0\MQTT.runtimeconfig.dev.json

     文件        154  2018-04-26 16:06  MQTT\MQTT\bin\Debug\netcoreapp2.0\MQTT.runtimeconfig.json

     文件      40444  2018-04-26 16:22  MQTT\MQTT\bin\Debug\netcoreapp2.0\MQTTServer.deps.json

     文件       8192  2018-04-26 16:22  MQTT\MQTT\bin\Debug\netcoreapp2.0\MQTTServer.dll

     文件       1296  2018-04-26 16:22  MQTT\MQTT\bin\Debug\netcoreapp2.0\MQTTServer.pdb

     文件        263  2018-04-26 16:22  MQTT\MQTT\bin\Debug\netcoreapp2.0\MQTTServer.runtimeconfig.dev.json

     文件        154  2018-04-26 16:22  MQTT\MQTT\bin\Debug\netcoreapp2.0\MQTTServer.runtimeconfig.json

     文件        271  2018-04-26 16:06  MQTT\MQTT\MQTTServer.csproj

     文件        978  2018-04-11 11:16  MQTT\MQTT\obj\Debug\netcoreapp2.0\MQTT.AssemblyInfo.cs

     文件         42  2018-04-11 11:16  MQTT\MQTT\obj\Debug\netcoreapp2.0\MQTT.AssemblyInfoInputs.cache

     文件         42  2018-04-26 16:04  MQTT\MQTT\obj\Debug\netcoreapp2.0\MQTT.csproj.CoreCompileInputs.cache

     文件        793  2018-04-12 08:36  MQTT\MQTT\obj\Debug\netcoreapp2.0\MQTT.csproj.FileListAbsolute.txt

     文件     498347  2018-04-26 16:06  MQTT\MQTT\obj\Debug\netcoreapp2.0\MQTT.csprojResolveAssemblyReference.cache

     文件       4608  2018-04-26 16:06  MQTT\MQTT\obj\Debug\netcoreapp2.0\MQTT.dll

     文件        532  2018-04-26 16:06  MQTT\MQTT\obj\Debug\netcoreapp2.0\MQTT.pdb

     文件       1013  2018-04-26 16:22  MQTT\MQTT\obj\Debug\netcoreapp2.0\MQTTServer.AssemblyInfo.cs

     文件         42  2018-04-26 16:22  MQTT\MQTT\obj\Debug\netcoreapp2.0\MQTTServer.AssemblyInfoInputs.cache

     文件         42  2018-04-26 16:22  MQTT\MQTT\obj\Debug\netcoreapp2.0\MQTTServer.csproj.CoreCompileInputs.cache

     文件        760  2018-04-26 16:22  MQTT\MQTT\obj\Debug\netcoreapp2.0\MQTTServer.csproj.FileListAbsolute.txt

     文件     101829  2018-04-26 16:42  MQTT\MQTT\obj\Debug\netcoreapp2.0\MQTTServer.csprojResolveAssemblyReference.cache

     文件       8192  2018-04-26 16:22  MQTT\MQTT\obj\Debug\netcoreapp2.0\MQTTServer.dll

     文件       1296  2018-04-26 16:22  MQTT\MQTT\obj\Debug\netcoreapp2.0\MQTTServer.pdb

     文件        149  2018-04-26 16:04  MQTT\MQTT\obj\MQTT.csproj.nuget.cache

     文件       1521  2018-04-11 11:16  MQTT\MQTT\obj\MQTT.csproj.nuget.g.props

............此处省略48个文件信息

评论

共有 条评论

相关资源