我尝试使用HTTP和MQTT从运行Xamarin应用程序的ios设备连接到IOT平台,但到目前为止还没有成功。
现在,我正在使用OPENNETCF MQTT包来使用MQTT进行连接,但它似乎停留在“连接”上。我没有看到任何改变的设备状态,同时查看IOT平台的网站。
我的连接代码如下所示:
public async Task ConnectOpenNETCF() {
if (mclient == null) {
mclient = new MQTTClient("orgid.messaging.internetofthings.ibmcloud.com", 8883);
string id = "d:orgid:ios:test01";
await mclient.ConnectAsync(id, "use-token-auth", "the generated token");
if (mclient.IsConnected)
Console.WriteLine("Client is connected.");
else
Console.WriteLine("Client is not connected. " + mclient.ConnectionState);
} else {
Console.WriteLine("Status: " + mclient.ConnectionState);
}
}其中orgid是IOT平台生成的6个字符组织id,ios是设备类型,test01是设备名称。我是不是做错了什么?除了MQTT客户端的ConnectionState之外,我还可以在哪里获得更多信息?
发布于 2018-04-12 06:19:14
对于mclient,在通过安全端口(8883)请求连接时,还需要将useSSL标志传递给"true“。默认情况下,连接安全设置在带有令牌的TLS上,因此需要使用SSL。如果您不想这样做,那么我想您可以设置TLS可选的设置,将端口更改为1883,这样就可以按原样使用代码了。事件类型您可以在IoT仪表板中设置"TLS可选“的连接设置吗?您可以这样做:安全性>连接安全性>在TLS可选上设置的安全级别。
https://stackoverflow.com/questions/49683332
复制相似问题