我在IBM Watson IoT Platform中创建了一个应用程序,并使用提供的代码示例来连接ApplicationCLient对象。
连接很好,但是当发送发布命令时,在VS2017的输出窗口中得到这个之后一两秒钟:
Exception levée : 'System.Net.Sockets.SocketException' dans System.dll
Exception levée : 'System.IO.IOException' dans System.dll
Exception levée : 'System.IO.IOException' dans System.dll
Le thread 0x4a4 s'est arrêté avec le code 0 (0x0).
Exception levée : 'System.Security.Cryptography.CryptographicException'
dans mscorlib.dll
问题是,我到处都使用过try / catch块,但它们没有捕获这些异常。
我猜它是关于端口转发,但即使在打开watson iot所需的端口之后,我似乎无法使命令正常工作
我可以成功地从设备发布事件并在ApplicationClient上接收这些事件,我只遇到Command问题。
编辑:添加说明 - 我不知道使用端口exaclty,它是管理连接的IBMWIoTP,但文档说要打开1883,80,8883和443.我做了,在Windows防火墙和我的路由器。
connevtionState = mqttClient.Connect(clientId,clientUsername,clientPassword,cleanSession,keepAlivePeriod);
丢失的连接可能表示您正在尝试执行非法操作,例如发布到您不允许的主题。
好吧,我找到了原因......我感到很惭愧。我已经影响了应用程序上的错误配置文件,我无法使用此配置文件发送命令。我已经设置了标准的应用程序配置文件,现在一切正常。我浪费了太多时间......