无法从 Xamarin 应用程序连接到 IBM IOT 平台



我尝试使用HTTP和MQTT从运行Xamarin应用程序的ios设备连接到IBM IOT平台,但到目前为止没有运气。

现在我正在使用 OPENNETCF MQTT 包使用 MQTT 进行连接,但它似乎停留在"连接"上。我在查看物联网平台网站时没有看到设备状态的任何变化。

我的连接代码如下所示:

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 客户端的连接状态之外,我在哪里可以获得更多信息?

对于mclient,当您请求通过安全端口(8883(进行连接时,还需要将useSSL标志传递给"true"。默认情况下,连接安全设置在带有令牌的 TLS 上,因此需要使用 SSL。如果您不想这样,那么我想您可以在 TLS 上设置可选设置,将端口更改为 1883,您将能够按原样使用代码。事件类型为 do 您可以在物联网仪表板中的"TLS 可选"上设置连接设置。您可以通过以下方式执行此操作: 安全性> 连接安全性 在 TLS 上设置的安全>安全级别

可选

最新更新