QTcpServer 服务器监听失败
调试QT的TCPIP 的服务器的程序,遇到listen 返回false。怀疑两个方向:
-
电脑自身的防火墙问题
-
程序有问题,
针对第一点, 关闭防火墙等,建立最简单的demo,不成功
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
bool ret = ser.listen(QHostAddress::Any, 6500);
qDebug()<<ret<<ser.errorString();
return a.exec();
}
第二点程序有问题,运行QT自带的demo也不成功,感觉不科学。度娘后知道 代理可能出问题。发现自己的好像设置了IE代理,解决方案加入 QNetworkProxyFactory::setUseSystemConfiguration(false); 问题完美解决
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QTcpServer ser;
QNetworkProxyFactory::setUseSystemConfiguration(false);
QHostAddress addr = QHostAddress("192.168.4.246");
// //QHostAddress addr = QHostAddress("127.0.0.1");
bool ret = ser.listen(QHostAddress::Any, 6500);
qDebug()<<ret<<ser.errorString();
return a.exec();
}