So in etwa:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
tcStart: Cardinal;
aWartezeit: Cardinal;
begin
TCPclient.Port:=strtoint(edit3.Text);
TCPclient.Host:= edit2.Text;
TCPClient.Connect;
if TCPClient.Connected then
begin
//stringtohexstr(edit1.text);
TCPClient.IOHandler.WriteLn(edit1.Text);
TCPClient.IOHandler.WriteLn(string2hex(edit1.Text)+' (in Hexadezimal)');
//--
tcStart := GetTickCount;
aWartezeit := 5000; // 5sek.
while (GetTickCount<=tcStart+aWartezeit) do
begin
Application.ProcessMessages;
Sleep(300);
end;
//--
TCPClient.Disconnect;
end;
end;
Ich würde etwas anders vorgehen, nämlich in jeden Fall vom Server eine Antwort schicken und durch den Clienten auswerten. Dann spart man sich den Timeout (ich gehe dabei davon aus, dass in der Zwischenzeit die Verbindung zum Server/Client nicht anderweitig gekappt wurde...)