add Csharp Mqtt Test

main
Jonas Arnold 4 years ago
parent 54eefda9c8
commit dfd6103b23
  1. 14
      ADIS_Csharp/MqttTest/MqttTest.csproj
  2. 44
      ADIS_Csharp/MqttTest/Program.cs

@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="M2MqttDotnetCore" Version="1.1.0" />
</ItemGroup>
</Project>

@ -0,0 +1,44 @@
using System.Text;
using System.Threading;
using uPLibrary.Networking.M2Mqtt;
using uPLibrary.Networking.M2Mqtt.Messages;
namespace MqttTest
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello MQTT World! Press Space to send test message to topic 'scada/status'.");
// creating an MqttClient object
var client = new uPLibrary.Networking.M2Mqtt.MqttClient("10.180.254.80");
// register to message received
client.MqttMsgPublishReceived += client_MqttMsgPublishReceived;
// generate a clientID and connect to Broker
string clientId = Guid.NewGuid().ToString();
client.Connect(clientId);
// subscribe to a topic
client.Subscribe(new string[] { "scada/status" }, new byte[] { MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE });
// Endless loop
while (true)
{
Thread.Sleep(50);
if (Console.KeyAvailable)
{
var key = Console.ReadKey();
if (key.Key == ConsoleKey.Spacebar)
{
Console.WriteLine($"Sending \"Test Message\" to topic 'scada/status'");
client.Publish("scada/status", Encoding.ASCII.GetBytes("Test Message"));
}
}
}
}
static void client_MqttMsgPublishReceived(object sender, MqttMsgPublishEventArgs e)
{
// handle message received
Console.Write("Message received: ");
Console.Write(Encoding.UTF8.GetString(e.Message) + "\n");
}
}
}
Loading…
Cancel
Save