답변 고맙습니다.
우선 반갑네요... 예전에 군사령부에 계셨죠? 인사과(?)인가에 있었던거 같은데..
제가 WinInet을 예전에 쓴 이유는
클라이언트 환경이 proxy server와 같은 내부 방화벽에 있을 경우 어렵지 않게 다운을
받을 수 있어서 그랬습니다.
원래는 Http용 소켓(아마 Indy)을 이용하여 받았다가 여러 클라이언트들에게 문제가 일어나
(그때 왜 그런건지에 대한 원인을 알고 지나갔어야 하는데, 시간상, 게을러서...)
WinInet으로 바꿨더니 잘 되더라구요...
현재 다시 비슷한 모듈을 만들면서 이 부분이 고민이 되더군요...
그때 해결했으면 깨끗한 마음으로 진행했을텐데...
혹시, 위와 같은 원인과 관련되서 아시는 내용이 있는지....
다시 한번 질문합니다.
그럼, 수고하세요.
박지훈.임프 님이 쓰신 글 :
: 제일 비추천 방법은 NMHttp를 이용하는 것입니다.
: 소스도 없는 것이, 내부에 픽스된 것이 많아서 여러가지 기능상으로 제한이 많구요.
: 그렇다고 성능면에서 뛰어나지도 못합니다.
:
: 가장 간편한 방법은 역시 WinInet을 쓰는 것이겠죠.
: IE의 기능을 이용하는 거니까 IE가 동작한다면 반드시 동작하구요.
: 하지만 IE의 기능에 의존한다는 것이 어딘지 모르게 찜찜한 구석도 있습니다.
:
: 제 경우에는, 별도의 컴포넌트를 만들었습니다.
: HTTP의 경우 1.1에서 연결 유지가 추가되어있는데, HTTP 연결유지를 이용하면 당연히 한 사이트에서 대량으로
: 다운로드해야 하는 경우에 대단히 빠릅니다. 그런데 이 연결유지 기능을 대부분의 HTTP 컴포넌트들에서 지원하지 않기
: 때문에 직접 만들었던 거구요. TClientSocket을 이용해서 블로킹 통신으로 다운로드를 받도록 했습니다.
:
: 그럼...
:
:
: 김기태 님이 쓰신 글 :
: : 안녕하세요.
: :
: : 웹브라우저와 비슷한 기능의 뷰어를 만드려 하는데,
: : 즉, Http 통신으로 웹서버에 있는 리소스를 다운할라고 합니다.
: :
: : 웹브라우저처럼 한페이지에 많은 리소스를 다운받아 디스플레이 하려 합니다.
: :
: : 그런데, 웹브라우저(환경)에서도 다운이 되면, 저희쪽 어플에서도 다운이 되게 하려고 하는데요.
: :
: : 1. WinInet을 이용한 방법
: : 2. Indy를 이용한 방법
: : 3. NMHttp를 이용한 방법
: : 4. 그외 추천하는 방법
: :
: : 위 방법중 1번을 나름대로 사용하고 있었습니다.
: :
: : 여러분들은 어떤방식이 나름대로 괜잖은지 경험이 있으면,
: : 데이터를 안정적(중요)으로 받는 방법에 대해서 조언 부탁합니다.
|