동기식 QNetworkAccessManager :: get을 수행하는 적절한 방법은 무엇입니까?Qt 동기식 QNetworkAccessManager 얻기
qt wiki은 접근 방식을 제공하지만 "실제 응용 프로그램에서는 사용하지 않는 것이 좋습니다"라고 나와 있습니다. mailinglist은 wiki와 비슷한 솔루션을 제공합니다.
동기식 QNetworkAccessManager :: get을 수행하는 적절한 방법은 무엇입니까?Qt 동기식 QNetworkAccessManager 얻기
qt wiki은 접근 방식을 제공하지만 "실제 응용 프로그램에서는 사용하지 않는 것이 좋습니다"라고 나와 있습니다. mailinglist은 wiki와 비슷한 솔루션을 제공합니다.
얌은 다음과 같이 사용할 수 있습니다 :
QEventLoop loop;
connect(_netReply, SIGNAL(finished()), &loop, SLOT(quit()));
loop.exec();
위키과 이트륨의 대답에 언급 된 간단한 해결책은 가능한 모든 장애 시나리오를 처리하지 않기 때문에 매우 취약 (예 : 프록시 등) 및 따라서 프로덕션 환경에서 사용해서는 안되며 불행히도 다작하게되었습니다. 따라서 동기식 QNAM을 요구하는 사용자는 "asynchronisly [stupid]"또는 결국 실패 할 간단한 코드 조각을 사용하여 간단히 혼란에 빠지게됩니다.
내가 Qt는 팀 스스로 만든 "적절한"해결책을 발견하지 않은,하지만 CodeProject의에이 사람이 훨씬 더 안전해야 더 포괄적 인 래퍼 만들기에 충분 괜찮은했다 :
http://www.codeproject.com/Articles/484905/Use-QNetworkAccessManager-for-synchronous-download
I을 이 작업은 파이썬, GUI 및 프로덕션 시스템에서 쉽게 가능합니까? QNAM을 동기식으로 사용하는 것이 공식적이고 쉬운 Qt가 아닌 이유는 무엇입니까? –
@RaidenCore, 또한 같은 질문을합니다. C++과 관련이 있습니까? – nurgasemetey