码迷,mamicode.com
首页 > 其他好文 > 详细

QTcpServer服务器无法监听和客户端连接不上问题

时间:2020-05-20 12:46:44      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:server   str   address   net   http   res   绑定   use   c89   

使用 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

QTcpServer服务器无法监听和客户端连接不上问题

标签:server   str   address   net   http   res   绑定   use   c89   

原文地址:https://www.cnblogs.com/WindSun/p/12922752.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!