ja den Text solltest du erst senden, wenn die Verbindung steht.
Code:
clientsocket1.open;
repeat
application.processmessages;
until clientsocket.active;
ClientSocket1.Socket.SendText('test');
Das geht, hat aber noch einen Schönheitsfehler. Wenn der Server die Verbindung nicht annehmen kann, bleibst du mit dem client Programm in der Schleife hängen. Darum solltest du in die repeat Schleife noch eine Fehlerabfrage einbauen.
Eine bewährte Variante ist die, dass du in der onerror routine eine globale Variable veränderst, die in der repeat Schleife abgefragt wird. Das sendtext machst du auch noch von der Variablen abhängig.
der Flossinger