0
저는 일부 사용자의 도움을 받아 Indy 10을 Delphi 5로 옮겼습니다. I 30 초 같은 이내에 다시 게시하려고하지 않는Indy TIdHTTP.DoRequest를 대체 한 요소는 무엇입니까?
HTTP.Post(URL,ssSource,ssResult);
잘 작동 : DoRequest 사용할 수없는 이상이기 때문에이 코드를 사용하려고하면 나는, 사용
HTTP.DoRequest(hmPost,URL,ssSource,ssResult);//This will not disconnect if already connected like the post
를 게시하는 데 사용 . 이 오류가 발생하는 경우 :
ERROR: Socket Error # 10048. Address already in use.
DoRequest가이 문제를 일으키지 않았습니다. 올바르게 대체하는 방법을 모릅니다.
'DoRequest()'가 여전히 존재합니다. 단순히'protected'입니다. 사용자 정의 HTTP 명령을 보내려고하지 않는 한 직접 호출 할 필요가 없습니다. 'Post()'연결이 끊어지지 않도록하려면,'hoOKeepOrigProtocol' 플래그가'HTTPOptions' 속성에서 활성화되어 있는지 확인하십시오. 소켓 오류에 관해서는 문제를 설명하는 [Minimal, Complete and Verifiable example] (http://stackoverflow.com/help/mcve)을 제공해주십시오. –
내 로그를 살펴본 후에는 문제가 모든 게시가 스레드 내에서 완료되었다고 생각하며 최대 3 개의 스레드를 동시에 실행할 수 있습니다. 스레드 2와 3은 항상 소켓 오류 # 10048을 얻습니다. 스레드 # 1이 끝나면, 다음 게시물을 잘 처리합니다. 인디 9와 DoRequest(). –
당신은 모든 스레드에서 같은'TIdHTTP' 객체를 사용하려고합니까? 아니면 각각 자신의'TIdHTTP' 객체를 가지고 있습니까? 'BoundIP' 및/또는'BoundPort' 속성을 사용하고 있습니까? –