[c++] HTTP URL을 C ++에서 비동기 적으로 다운로드



Answers

boost :: asio 를 사용하여 비동기 IO 작업을 수행 할 수 있습니다. 비동기 http 클라이언트 의 예제입니다.

Question

Linux의 C ++에서 HTTP URL (예 : http : //.0.0.0.0/foo.htm )을 다운로드하는 좋은 방법은 무엇입니까? 나는 강력하게 비동기적인 것을 선호한다. 내 프로그램에는 반복적으로 여러 개의 (아주 작은) 다운로드를 시작하는 이벤트 루프가 있으며 완료되면 (폴링 또는 어떻게 든 알림을 통해) 다운로드를 수행합니다. 차라리 여러 스레드 / 프로세스를 생성 할 필요가 없습니다. 꼭 필요한 것은 아닙니다.

libcurl과 같은 라이브러리를 조사해야합니까? 나는 비 블로킹 TCP 소켓과 select () 호출을 수동으로 구현할 수 있다고 생각하지만, 덜 편리 할 것이다.




Qt의 QThread 인스턴스가 실행될 때 자체 이벤트 루프를 가질 수 있습니다. QThread 내부에 QHttp의 인스턴스를 가질 수 있습니다. QHttp는 Qt Event 루프를 사용하여 메일 스레드에서 비동기 HTTP 호출을 수행합니다. 또한 스레드 간 통신은 매우 쉽습니다.

http://doc.qt.nokia.com으로 바로 들어가서 더 잘 이해할 수 있도록 수업 자료를 읽어보십시오.




Links