0
我只是在這裏的一些用戶的幫助下將Indy 10移到了Delphi 5中。我用使用後,是什麼取代了Indy TIdHTTP.DoRequest?
HTTP.DoRequest(hmPost,URL,ssSource,ssResult);//This will not disconnect if already connected like the post
由於DoRequest是不再可用,如果我嘗試使用此代碼:
HTTP.Post(URL,ssSource,ssResult);
正常工作,除非我嘗試後內再次像30秒。如果我這樣做,我得到這個錯誤:
ERROR: Socket Error # 10048. Address already in use.
DoRequest從來沒有造成這一點。不知道如何正確替換它。
'DoRequest()'仍然存在,它只是'受保護的'。除非您嘗試發送自定義HTTP命令,否則不需要直接調用它。爲了避免'Post()'斷開連接,請確保'HTTPOptions'屬性中的'hoKeepOrigProtocol'標誌已啓用。至於你的套接字錯誤,請提供一個[最小,完整和可驗證的例子](http://stackoverflow.com/help/mcve)來證明這個問題。 –
查看我的日誌後,我認爲問題是所有的帖子都是在一個線程內完成的,我最多可以同時運行3個線程。線程2和3總是得到一個套接字錯誤#10048。當線程#1完成時,它會啓動下一篇文章。使用Indy 9和DoRequest()。 –
你是想在所有線程中使用相同的'TIdHTTP'對象,還是每個都有自己的'TIdHTTP'對象?您是否使用「BoundIP」和/或「BoundPort」屬性? –