你好,我们购买了一个mqtt服务器,使用xx公司的产品(cc3200芯片)可以连接到该服务器,并能正常连接并收发数据;但我们尝试使用MQTT Client例子程序,却连接不上mqtt服务器,串口显示Broker connect fail for conn no.
怎样修改能连接上这个特殊服务器呢?
gaoyang9992006:
是自己搭建的还是租用的?那个产品跟他们有没有关系,是不是他们之间有什么特别的协议。
Yonghua Pan:
你们购买的是标准MQTT协议的服务器吗?CC3200和mosquitto和IBM的MQTT都是可以的。
Kun Li10:
回复 gaoyang9992006:
您好!我在cc3200开发板上跑mqtt_client的例程,Broker connect fail for conn no. 1,请问这个是什么原因,我该如何解决
convex j:
回复 Kun Li10:
也遇到类似的问题,Connect to Broker failed ,Error code-4, 求解
Yonghua Pan:
回复 convex j:
可以先尝试一下在电脑上运行一个mqtt 客户端,看能否连的上。注意是不是用了SSL,那样的话就要烧录相应的证书。
convex j:
回复 Yonghua Pan:
没有启用SSL,连接的是百度物接入,用电脑上的mqtt.fx 连接成功,但是CC3220s 失败。已经查过,error code -4 是用户名和密码错误。已经更正,现在 错误码变成 -5,授权失败。还没找到解决办法。
Yonghua Pan:
回复 convex j:
你是哪个API返回的是-5?
convex j:
回复 Yonghua Pan:
lRetVal = MQTTClient_connect(gMqttClient);
/*negative lRetVal means error,0 means connection successful without session stored by the server,greater than 0 means successful connection with session stored bythe server */
Yonghua Pan:
回复 convex j:
返回MQTT_PACKET_ERR_PKT_AVL的错误是因为static MQTT_Packet_t MQTTClient_packet[MQTTCLIENT_MAX_MQP];这个pool满了,你把MQTTCLIENT_MAX_MQP改大一点看看。你可以把C:\ti\simplelink_cc32xx_sdk_2_20_00_10\source\ti\net\mqtt里面的代码加到你的工程去编译调试的。