資源簡(jiǎn)介
MQTTnet .NET庫(kù)實(shí)現(xiàn)的MQTT 客戶端和服務(wù)端代碼,源程序。可以執(zhí)行。

代碼片段和文件信息
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服務(wù)已停止!“);
????????????????????break;
????????????????}
????????????????else?if?(inputString?==?“clients“)
????????????????{
????????????????????foreach?(var?item?in?mqttServer.GetConnectedClients())
????????????????????{
????????????????????????Console.WriteLine($“客戶端標(biāo)識(shí):{item.ClientId},協(xié)議版本:{item.ProtocolVersion}“);
????????????????????}
????????????????}
????????????????else
????????????????{
????????????????????Console.WriteLine($“命令[{inputString}]無(wú)效!“);
????????????????}
????????????}
????????}
????????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服務(wù)啟動(dòng)成功!“);
????????}
????????private?static?void?MqttServer_ClientConnected(object?sender?MqttClientConnectedEventArgs?e)
????????{
????????????Console.WriteLine($“客戶端[{e.Client.ClientId}]已連接,協(xié)議版本:{e.Client.ProtocolVersion}“);
????????}
????????private?static?voi
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
????..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個(gè)文件信息
評(píng)論
共有 條評(píng)論