首页 > 解决方案 > 发布命令后的 SocketException,ApplicationClient

问题描述

我在 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 上接收这些事件,我只有命令有问题。

编辑:添加说明 - 我不知道使用哪个端口 exaclty,它是管理连接的 IBMWIoTP,但文档说要打开 1883、80、8883 和 443。我在 Windows 防火墙和我的路由器中都这样做了.

connevtionState = mqttClient.Connect(clientId, clientUsername, clientPassword,cleanSession,keepAlivePeriod);

标签: c#ibm-cloudwatson-iot

解决方案


断开的连接可能表明您正在尝试做一些非法的事情,例如发布到您不允许的主题。


推荐阅读