项目场景:
项目中,客户的部分机器操作客户点界面时,出现未响应的问题,自己的机器和测试的机器均未出现此现象,用极其简单的demo测试也是一样测现象;开始怀疑是客户的机器配置低,机器比较旧,但并不是这个原因,百思不得其解;
突然意识到,客户的网络环境有“内网”和“外网”的区别,且“内网”环境比较复杂,开始抓包分析;排查很久,发现是http请求的原因导致;
“外网”环境,http请求很快,“内网”环境http请求很慢,开始查找各种资料,发现跟代理有关系,设置无代理后,完美解决。
示例代码:
QNetworkAccessManager *pManager=new QNetworkAccessManager();
pManager->setProxy(QNetworkProxy::NoProxy);//如果不设置默认是QNetworkProxy::DefaultProxy
原因分析:
可能是客户的“内网”机器,系统的默认代理方式有关系,设置无代理完美解决,setProxy(QNetworkProxy::NoProxy)。
欢迎批评指正!