本文主要是介绍QT使用paho.mqtt.embedded-c-master库遇到getaddrinfo函数返回10093的解决方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
参考链接: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,虽然不知道原因,但这样就不会报错
然后编译运行就没问题了
这篇关于QT使用paho.mqtt.embedded-c-master库遇到getaddrinfo函数返回10093的解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!