參考鏈接: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,雖然不知道原因,但這樣就不會報錯
然後編譯運行就沒問題了