QTcpServer服務器無法監聽和客戶端連接不上問題


使用 QTcpServer ,使用 listen 函數監聽局域網地址 (192.168.97.217)的時候,發現返回的結果為 false,無法監聽,通過語句qDebug() << server->errorString(); 打印出的錯誤字串為

The proxy type is invalid for this operatoin;

但是,當我修改綁定的地址語句為 QHostAddress::LocalHost 之后,可以監聽成功,現象如上所述。

經過研究,在 Qt 5.8 及以后,Qt 程序默認使用系統的代理設置會導致這個問題導致,只要關閉系統的代理設置就可以解決這個問題,關閉系統代理設置方法請訪問以下網頁

https://jingyan.baidu.com/article/0aa22375866c8988cc0d648c.html

關閉之后,通過 listen 函數就可以監聽 127.0.0.1 和 192.168.x.x 兩種地址了;如果不想修改系統代理設置,可以在QTcpServer 的構造函數中加入以下語句:

QNetworkProxyFactory::setUseSystemConfiguration(false); // 靜態函數

(加入該句話之后,無論是Server監聽還是Socket連接服務器,都變得異常快速,幾乎沒有等待延遲,不是很懂~)客戶端也可加上上面的語句。

參考:https://www.cnblogs.com/hbrw/p/7728618.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM