2017-02-08 7 views
2

Qt 5.8을 사용하여 Qt 5.7에서 정상적으로 작동하는 네트워킹 응용 프로그램을 다시 컴파일하려고합니다.Qt 5.7에서 Qt 5.8로 전환 - "프록시 유형이이 작업에 유효하지 않습니다."

int myPort = 52000; //some accessible port 
QTcpServer* server = new QTcpServer(); 
if(!server->listen(QHostAddress::Any, myPort)) 
{ 
    qDebug() << server.errorString(); 
} 

및 반환 된 오류는 다음과 같습니다 : 그러나, Qt는 5.8을 사용하여, 서버는 listen()에 실패

프록시 유형은

내가 응용 프로그램을 실행 할이 작업에 유효하지 않습니다 그러나 프록시에 의해 보호되는 회사 네트워크에서 이전 버전의 Qt에서는이를 처리하기 위해 어떤 유형의 설정도 수행하지 않았습니다. 전에 listen() 명령이 실패한 것을 본 적이 없습니다.

Qt 5.8에서 변경된 사항이나이를 어떻게 설명합니까?

EDIT : 전체 네트워크가 프록시 동안

, 프록시는 로컬 도메인에서 통신 요구되지 않으며, NO_PROXY 환경 변수는 로컬 연결 프록시 않도록 설정된다.

+1

'QNetworkProxyFactory :: usesSystemConfiguration'은 멋진 것을 돌려 주나요? – peppe

+0

api 변경 사항은 http://doc.qt.io/qt-5/sourcebreaks.html에서 확인할 수 있지만 그 원인이 무엇인지는 알 수 없습니다! – PeCosta

+1

프록시와 관련된 Qt 기본 구성에 적어도 두 가지 변경 사항이있는 것으로 보입니다 : http://code.qt.io/cgit/qt/qtbase.git/tree/dist/changes-5.8.0 – alexisdm

답변

1

Qt 5.8에서 시스템 프록시 설정은 기본적으로 사용되지만 NO_PROXY 설정을 고려하지 않습니다.

QTcpServer 인스턴스를 만들기 전에 QNetworkProxyFactory::useSystemConfiguration(false);을 설정하면 오류가 수정되었습니다 (기본적으로 Qt 5.7 기본값으로 되돌림).