API使用问题

使用API连接物接入时,返回connection timeout错误。

当前客户端的网络不通,需要测试客户端网络是不是好的,可以先访问一下一些公网的网站,比如www.baidu.com,如果访问成功的话,就表示网络ok,如果这个时候还是出现这个错误,估计有可能是防火墙关闭了特定端口,目前我们的MQTT提供服务的端口包括1883(tcp),1884(tls),8884(websocket),简单的测试办法就是telnet xxx.mqtt.iot.gz.baidubce.com port,其中xxx.mqtt.iot.gz.baidubce.com是IoT Hub返回的域名,port是使用协议对应的端口,如果是TCP,就用1883。

如果客户端网络没有问题的话,telnet也不通,这个时候就可能是电信运营商的问题,电信运营商有时候会把特定IP的端口给封闭,导致这些服务受到影响,你可能需要获取解析的IP地址,然后自己一个一个的尝试,获取解析的IP地址:nslookup xxx.mqtt.iot.gz.baidubce.com,然后使用telnet来测试:telnet xxxx_ip port。

如果每一个IP的telnet连接都是失败的话,这个时候很可能就是云端的服务出问题,你需要告知百度智能云的技术支持团队,可以提交工单,一般来说这种的情况的可能性极低。

使用API连接物接入时,返回invalid ClientID

填写的clientID不合法,我们ClientID支持的长度是128,超过之后会报错,clientID的格式必须是下面这些字符的组合” 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_”

还有一种情况,就是我们的服务有并发连接数限制,当你的并发连接数超过上限的时候(目前是每个实例最大10000个并发连接),我们就会返回这个错误给客户端。