我需要使用TCP/IP連接連接到本地網絡上的設備。 當我使用TIdTCPClient時,除了一件事以外,一切正常:是適合本地TCP/IP連接的Indy TIdTCPClient?
如果連接不可用,則需要大約18-20秒纔會出現超時。 無論我設置了什麼值,ConnectTimeout屬性都不起作用。在超時之前,它總是需要相同的時間。
This answer提到超時的延遲時間,我想知道這是否與Indy組件有關?
我必須找出連接是否不能很快建立,比方說最多在1秒內。
有沒有辦法使用Indy做到這一點,還是我需要使用不同的組件/不同的方法?
(我使用德爾福2009年附帶的印版本10)
編輯:
我按照說明印地升級到最新版本this post。
仍然一樣,現在一直持續22秒,直到TCPClient.Connect在沒有連接時返回。 ConnectTimeout和/或ReadTimeout對此似乎沒有影響。
如果你想要一個快速無阻塞的delphi套接字解決方案,請試試ICS - http://www.overbyte.be/frame_index.html – 2011-02-16 02:43:38
你會得到什麼錯誤? – Misha 2011-02-16 22:13:19
@Misha:如預期的那樣,我得到連接超時,但我不能等待20秒纔會發生這種情況。如果有連接問題,我需要馬上知道。 – Holgerwa 2011-02-17 08:01:48