C#实现mqtt协议客户端的坑

目前最好用的C#库是 eclipse出的M2Mqtt库,主页链接: http://www.eclipse.org/paho/clients/dotnet/

项目的地址是 https://github.com/eclipse/paho.mqtt.m2mqtt

使用方式是在vs 的命令中输入

Install-Package M2Mqtt

项目主页上介绍看起来很简单

... 
 
// create client instance 
MqttClient client = new MqttClient(IPAddress.Parse(MQTT_BROKER_ADDRESS)); 
 
string clientId = Guid.NewGuid().ToString(); 
client.Connect(clientId); 
 
string strValue = Convert.ToString(value); 
 
// publish a message on "/home/temperature" topic with QoS 2 
client.Publish("/home/temperature", Encoding.UTF8.GetBytes(strValue), MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE, false); 
 

然而,却存在一个坑, MQTT_BROKER_ADDRESS 不能用IP地址,而要用域名,用IP地址会出现在Connect这一步连接失败。

放个例子,可以直接使用的。https://sdk.bce.baidu.com/console-sdk/mqtt-net.rar?responseContentDisposition=attachment

是百度云接入的一个例子,用的是mqtt协议,下载后,把域名改一下,就可以用了。服务可以用http://mosquitto.org/download/页面的mosquitto服务器。

猜你喜欢

转载自blog.csdn.net/v6543210/article/details/86745771