中级会员
 
- 积分
- 262
- 金钱
- 262
- 注册时间
- 2016-9-9
- 在线时间
- 94 小时
|
1金钱
本帖最后由 xmlhttp 于 2019-5-9 21:07 编辑
直接拿的LWIP扩展例程的网络实验8 NETCONN_TCP客户端这个修改的,连接服务器代码如下:
[mw_shl_code=applescript,true]
u8 mqtt_connect(void)
{
MQTTPacket_connectData data = MQTTPacket_connectData_initializer;
unsigned char buf[200];
int buflen = sizeof(buf);
int len = 0;
memset(buf,'\0',buflen);
data.clientID.cstring = "STM32F103_TEST";
data.keepAliveInterval = 20;
data.cleansession =0;
data.username.cstring = "m1";
data.password.cstring = "admin";
data.MQTTVersion = 4;
len = MQTTSerialize_connect(buf, buflen, &data);
transport_sendPacketBuffer((char*)buf,len);
delay_ms(100);
if (MQTTPacket_read(buf, buflen, transport_getdata) == CONNACK)
{
unsigned char sessionPresent, connack_rc;
if ( MQTTDeserialize_connack(&sessionPresent, &connack_rc, buf, buflen)!= 1 || connack_rc != 0)
{
printf("Unable to connect, return code %d\r\n", connack_rc);
return 0;
}
else
{
printf("MQTT CONNECT!\r\n");
}
}
else
printf("No connack\r\n");
return 0;
}
[/mw_shl_code]
在服务端有这样的日志输出:
1557404053: New client connected from x.x.x.x as STM32F103_TEST (p2, c0, k20, u'm1').
1557404053: No will message specified.
1557404053: Sending CONNACK to STM32F103_TEST (1, 0)
运行到MQTTDeserialize_connack(&sessionPresent, &connack_rc, buf, buflen)等于1,connack_rc=2
串口中打印 Unable to connect, return code 2,请问要怎么修改?
|
|