chttpconnection 예제

상태 콜백 기능을 사용하여 WinInet 작업을 중단할 수 있습니다. 예를 들어 사용자가 작업을 취소할 때 주 스레드에서 설정한 이벤트를 테스트할 수 있습니다. MYEX33A 클라이언트 코드는 클라이언트 구성 페이지에서 프록시 사용 확인란을 선택하면 웹 프록시를 통해 통신할 수 있습니다. 이 경우 프록시 서버의 이름을 알고 입력해야 합니다. 이 시점부터 클라이언트 코드는 실제 서버가 아닌 프록시 서버에 연결됩니다. 그런 다음 모든 GET 및 POST 요청은 파일에 대한 전체 균일 리소스 로케이터(URL)를 지정해야 합니다. 예를 들어, SlowSoft 의 서버에 직접 연결된 경우 GET 요청은 다음과 같이 표시될 수 있습니다. 차단 호출을 하고 완료될 때 주 스레드에 메시지를 보낸 작업자 스레드를 시작했습니다. 비동기 모니커 파일의 경우 동일한 일이 발생하면 다른 스레드에서 전송이 수행되어 메시지를 주 스레드로 보냅니다. 다른 스레드가 표시되지 않습니다. 그러나 비동기 모니커 파일과 WinInet 프로그래밍 사이에는 매우 중요한 차이점이 있습니다. 비동기 모니커 파일을 사용하면 하나의 추가 스레드만 모든 전송을 함께 처리합니다.

예를 들어, 50비트맵을 동시에 다운로드해야 하는 브라우저를 작성하는 경우 비동기 모니커 파일을 사용하면 49개의 스레드가 저장되어 프로그램을 훨씬 효율적으로 만듭니다. 물론 WinInet을 사용하면 몇 가지 추가 제어가 있으며 총 파일 길이와 같은 응답 헤더에서 정보를 얻는 것이 더 쉽습니다. 그런 다음 프로그래밍 도구를 선택하는 방법은 응용 프로그램에 따라 다릅니다. 옵션에 대해 더 많이 알수록 더 나은 선택이 될 것입니다. 이 예제에서는 MFC CHttpSession 및 관련 클래스를 사용하는 범용 함수 “HttpCall”을 호출합니다. 이 예제 코드는 MFC 클래스를 사용하여 HTTP API 호출을 래퍼하고 제품 정보를 검색하는 방법을 보여 주며 간단한 예제입니다. 이 예제는 단일 제품을 검색하고 기본 세부 정보를 표시하는 것입니다. 이러한 방식으로 API를 호출하면 라이브러리에 종속성이 없습니다. #1 WinInet 클라이언트를 테스트하려면 Winsock 클라이언트를 테스트하는 데 사용한 것과 동일한 절차를 따를 수 있습니다.

연결이 이루어질 때 상태 표시줄 메시지를 기록합니다(예제에서 실패했습니다!). 파일을 두 번째로 요청할 때 파일이 더 빨리 나타납니다. Visual C++에서 myex33a 프로젝트를 연 다음 프로젝트를 빌드합니다. 웹 사이트라고 하는 MYEX33A의 디렉터리에는 일부 HTML 파일이 포함되어 있으며 MYEX33A 서버의 홈 디렉토리로 설정되어 클라이언트가 서버의 루트 디렉토리로 나타납니다.

Posted in Uncategorized