Qt 5.8 QTcpServer 无法监听局域网 ip 地址问题

  系统: Windows 7 Server Pack 1;Qt: Qt 5.8 for android 。

  在使用 QTcpServer 的时候,使用 listen 函数监听局域网地址 (192.168.2.113)的时候,发现返回的结果

  为 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值