2017-02-08 14 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のデフォルト設定に少なくとも2つの変更があるようです: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のデフォルトに戻すことによって)。

関連する問題