c# mqtt client example
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using uPLibrary.Networking.M2Mqtt;
using uPLibrary.Networking.M2Mqtt.Messages;
namespace MQTTTest
{
public partial class Form1 : Form
{
MqttClient client;
public Form1()
{
InitializeComponent();
//client = new MqttClient("broker.hivemq.com");
client = new MqttClient("192.168.0.83");
byte code = client.Connect(Guid.NewGuid().ToString());
client.ProtocolVersion = MqttProtocolVersion.Version_3_1;
client.MqttMsgPublished += client_MqttMsgPublished;
client.MqttMsgSubscribed +=client_MqttMsgSubscribed;
client.MqttMsgPublishReceived += client_MqttMsgPublishReceived;
// MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE
ushort msgId = client.Subscribe(new string[] { "/test/#" }, new byte[] { 0 });
}
private void client_MqttMsgPublishReceived(object sender, MqttMsgPublishEventArgs e)
{
string ReceivedMessage = Encoding.UTF8.GetString(e.Message);
Console.WriteLine("_MqttMsgPublishReceived = " + ReceivedMessage);
}
private void client_MqttMsgSubscribed(object sender, uPLibrary.Networking.M2Mqtt.Messages.MqttMsgSubscribedEventArgs e)
{
Console.WriteLine("Subscribed for id = " + e.MessageId);
}
private void client_MqttMsgPublished(object sender, uPLibrary.Networking.M2Mqtt.Messages.MqttMsgPublishedEventArgs e)
{
Console.WriteLine("MessageId = " + e.MessageId + " Published = " + e.IsPublished);
}
private void button1_Click(object sender, EventArgs e)
{
ushort msgId = client.Publish("/test/a001/222", // topic
Encoding.UTF8.GetBytes("MyMessageBody"), // message body
0, // QoS level
true); // retained
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using uPLibrary.Networking.M2Mqtt;
using uPLibrary.Networking.M2Mqtt.Messages;
namespace MQTTTest
{
public partial class Form1 : Form
{
MqttClient client;
public Form1()
{
InitializeComponent();
//client = new MqttClient("broker.hivemq.com");
client = new MqttClient("192.168.0.83");
byte code = client.Connect(Guid.NewGuid().ToString());
client.ProtocolVersion = MqttProtocolVersion.Version_3_1;
client.MqttMsgPublished += client_MqttMsgPublished;
client.MqttMsgSubscribed +=client_MqttMsgSubscribed;
client.MqttMsgPublishReceived += client_MqttMsgPublishReceived;
// MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE
ushort msgId = client.Subscribe(new string[] { "/test/#" }, new byte[] { 0 });
}
private void client_MqttMsgPublishReceived(object sender, MqttMsgPublishEventArgs e)
{
string ReceivedMessage = Encoding.UTF8.GetString(e.Message);
Console.WriteLine("_MqttMsgPublishReceived = " + ReceivedMessage);
}
private void client_MqttMsgSubscribed(object sender, uPLibrary.Networking.M2Mqtt.Messages.MqttMsgSubscribedEventArgs e)
{
Console.WriteLine("Subscribed for id = " + e.MessageId);
}
private void client_MqttMsgPublished(object sender, uPLibrary.Networking.M2Mqtt.Messages.MqttMsgPublishedEventArgs e)
{
Console.WriteLine("MessageId = " + e.MessageId + " Published = " + e.IsPublished);
}
private void button1_Click(object sender, EventArgs e)
{
ushort msgId = client.Publish("/test/a001/222", // topic
Encoding.UTF8.GetBytes("MyMessageBody"), // message body
0, // QoS level
true); // retained
}
}
}
vs2013 에서 동작하는 소스입니다.
댓글
댓글 쓰기