자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi 작업 시간 초과 SetTimeouts 질문 드립니다.
2020.02.24 16:55
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
안녕하세요.
Winhttp를 사용해서 웹에 데이터를 보내고 받아오는 작업을 하고 있습니다.
최근 들어 웹사이트가 느려져서 데이터를 전송 하는 부분과 받아오는 작업을 할 때 작업 시간을 초과하였다는 경구문구가 떠서 질문 남겨봅니다.
구글이나 다른 사이트들에 검색해본 결과,
WinHttp.SetTimeouts (ResolveTimeout, ConnectTimeout, SendTimeout, ReceiveTimeout )
상기 내용의 SetTimeouts을 설정해주면 기본적인 대기 시간보다 더 길게 대기할 수 있다고 했는데 아무리 설정을 해주어도 디버그 모드로 프로그램을 확인해보면 WinHttp.Send(~) 부분에서 작업 시간을 초과했다고 에러 메세지가 발생되네요.
WinHttp.Open('POST', 'URL', False);
WinHttp.SetTimeouts(0, 60000, 120000, 120000); //Send, Receive 20분까지 대기
~
WinHttp.WaitForResponse();
이렇게 코드를 작성했는데도 오류 메세지가 뜨는데 해결 방법 아시는 분 있으시면 도움 좀 부탁드립니다.
Delphi 작업 시간 초과 SetTimeouts 질문 드립니다.
2020.02.24 16:55
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
안녕하세요.
Winhttp를 사용해서 웹에 데이터를 보내고 받아오는 작업을 하고 있습니다.
최근 들어 웹사이트가 느려져서 데이터를 전송 하는 부분과 받아오는 작업을 할 때 작업 시간을 초과하였다는 경구문구가 떠서 질문 남겨봅니다.
구글이나 다른 사이트들에 검색해본 결과,
WinHttp.SetTimeouts (ResolveTimeout, ConnectTimeout, SendTimeout, ReceiveTimeout )
상기 내용의 SetTimeouts을 설정해주면 기본적인 대기 시간보다 더 길게 대기할 수 있다고 했는데 아무리 설정을 해주어도 디버그 모드로 프로그램을 확인해보면 WinHttp.Send(~) 부분에서 작업 시간을 초과했다고 에러 메세지가 발생되네요.
WinHttp.Open('POST', 'URL', False);
WinHttp.SetTimeouts(0, 60000, 120000, 120000); //Send, Receive 20분까지 대기
~
WinHttp.WaitForResponse();
이렇게 코드를 작성했는데도 오류 메세지가 뜨는데 해결 방법 아시는 분 있으시면 도움 좀 부탁드립니다.
WinHttp는 윈도우에서 제공하는 COM 오브젝트 같습니다.
제가 WinHTTP를 사용해 보지 않아 직접적인 답변을 드리기 어렵습니다.^^
대신 XE8에 추가된 TNetHTTPClient/TNetHTTPRequest 등을 사용해 보시는 것은 어떨까요?
ConnectionTimeout, ResponseTimeout 등을 설정가능하고, 비동기로 호출 후 처리할수도 있습니다.
——————
답글이 도움이 되셨는지 다른 분들도 참고할 수 있도록 결과 댓글 부탁드립니다.
(결과 댓글이 없는 경우 다른 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)