参考链接:https://blog.csdn.net/shufac/article/details/51992274
在使用QT测试mqtt的嵌入式版本C库时,发现无法连接上服务器,最后定位到getaddrinfo返回结果为10093,程序往下运行就结束了。
因为这是在win7下操作的,所以要添加WSAStartup,linux没有测试,按网友反映不需要添加下面的东西
我的解决方法是:
1、transport_open()函数一开始插入如下代码:
WSADATA wsaData;//2018-05-03 by CC
WSAStartup(MAKEWORD(2, 2), &wsaData);//2018-05-03 by CC
2、transport_close()函数return之前加入
WSACleanup();//2018-05-03 by CC
3、transport_sendPacketBuffer()函数中进行如下修改
// rc = write(sock, buf, buflen);
rc=send(sock,buf,buflen,0);
将write替换为send,虽然不知道原因,但这样就不会报错
然后编译运行就没问题了