QCA4010_MP1 开发板出现 DNS解析成功,但socket connect mqtt server失败。
我移植MQTT协议到QCA4010上面,和MQTT做连接的时候出现socket connect失败,但是DNS解析是OK的,并且ping MQTT server IP是OK的。
log如下:返回的socket fd = 4350332 怎么会那么大?大家遇到过这样的问题吗?有进一步的debug方法吗?
ipaddress = 8ccdf8fb// 这是IP地址
s_addr = 8ccdf8fb
sin_port = 20480
SOCK_OPEN: index 0 handle 4350332
family = 2, socktype = 1, protocal = 0 fd = 4350332
_tcp_sock_connect 1420
SOCK_CONNECT: index 0 handle 4350332 res -1
socket connect error,fd = 4350332, errno = 0
_ip_sock_close sock:4350332
SOCK_CLOSE: index 0 handle 4350332 res 0
代码:
if (qcom_dnsc_get_host_by_name((INT8 *)host, &ipAddress) != 0)
-->这一步是OK的,DNS可以解析出IP地址。
qcom_socket( AF_INET, SOCK_STREAM, 0);
address.sin_addr.s_addr = ipAddress;
address.sin_port = htons(atoi(service));
address.sin_family = AF_INET;
qcom_connect( fd, (struct sockaddr *) &address, sizeof (struct sockaddr_in));
--》 这一步失败 。
我手动ping 要连接的IP地址是OK的。
有进一步的debug方法吗?