Mqtt publish/subscribe 使用 c#
Mqtt publish/subscribe using c#
我已经在 Java 中使用过 mqtt。现在我需要创建一个 C# 应用程序来订阅和发布 mqtt 消息。
使用 MqttDotNet 库
IMqtt _client = MqttClientFactory.CreateClient(connectionString, clientId);
什么是connectionString
?
使用 M2Mqtt 库
连接成功,但我没有收到任何发布的消息。
这是我的代码:
class Program
{
static void Main(string[] args)
{
var client = new MqttClient(IPAddress.Parse("myTestIP"));
// register to message received
client.MqttMsgPublishReceived += client_MqttMsgPublishReceived;
var clientId = Guid.NewGuid().ToString();
client.Connect(clientId);
// subscribe to the topic "/home/temperature" with QoS 2
client.Subscribe(
new string[] {"testTopic"},
new byte[] { MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE });
}
static void client_MqttMsgPublishReceived(
object sender, MqttMsgPublishEventArgs e)
{
// handle message received
Console.WriteLine("message=" + e.Message.ToString());
}
}
这是我的消息发布代码:
mosquitto_pub -d -h testIp -t "testTopic" -m "haai"
我认为 MqttDotNet 目前没有得到维护。
我可以建议使用我的 M2Mqtt 客户端并在此处的官方网站上找到文档:
https://m2mqtt.wordpress.com/
M2Mqtt 客户端也可以在 Nuget 上作为包在此处获得:
https://www.nuget.org/packages/M2Mqtt/
保罗.
连接字符串是(根据 Steven Lovegroves 网站 http://www.stevenlovegrove.com/?id=37 上的示例代码文档):
连接字符串
- TCP 连接,例如。 tcp://brokerhost.com:1883
- 蓝牙连接,例如。 bt://00:10:dc:af:66:48
我已经在 Java 中使用过 mqtt。现在我需要创建一个 C# 应用程序来订阅和发布 mqtt 消息。
使用 MqttDotNet 库
IMqtt _client = MqttClientFactory.CreateClient(connectionString, clientId);
什么是connectionString
?
使用 M2Mqtt 库
连接成功,但我没有收到任何发布的消息。
这是我的代码:
class Program
{
static void Main(string[] args)
{
var client = new MqttClient(IPAddress.Parse("myTestIP"));
// register to message received
client.MqttMsgPublishReceived += client_MqttMsgPublishReceived;
var clientId = Guid.NewGuid().ToString();
client.Connect(clientId);
// subscribe to the topic "/home/temperature" with QoS 2
client.Subscribe(
new string[] {"testTopic"},
new byte[] { MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE });
}
static void client_MqttMsgPublishReceived(
object sender, MqttMsgPublishEventArgs e)
{
// handle message received
Console.WriteLine("message=" + e.Message.ToString());
}
}
这是我的消息发布代码:
mosquitto_pub -d -h testIp -t "testTopic" -m "haai"
我认为 MqttDotNet 目前没有得到维护。 我可以建议使用我的 M2Mqtt 客户端并在此处的官方网站上找到文档: https://m2mqtt.wordpress.com/
M2Mqtt 客户端也可以在 Nuget 上作为包在此处获得: https://www.nuget.org/packages/M2Mqtt/
保罗.
连接字符串是(根据 Steven Lovegroves 网站 http://www.stevenlovegrove.com/?id=37 上的示例代码文档):
连接字符串
- TCP 连接,例如。 tcp://brokerhost.com:1883
- 蓝牙连接,例如。 bt://00:10:dc:af:66:48