Es wird solange versucht eine Verbindung aufzubauen bis ein Timeout eintrifft.
Den Timeout gibt glaube ich Windows mit vor.
IMHO gibt es eine
Indy-Funktion mit der du den Timeout mit angeben kannst. Leider hat das bei mir nicht funktioniert. Es gibt auch Methoden um das Socket asynchron zu öffnen. Somit kehrt die Funktion direkt zurück, ohne erst zu warten. Ob du verbunden bist musst du dann selber prüfen. Du musst aber dann wahrscheinlich auf die Indys verzichten. Aber vielleicht geht das (mittlerweile) auch bei den Indys.
Das "Problem" gibt es sowieso nur, wenn der Server nicht erreichbar ist. Ping nützt da auch nicht viel. (Außer das es zeigt, dass man den Timeout auch verkürzen kann
)