Hallo,
Ich habe ein Programm mit IdTCPCLient und eins mit IdTCPServer
Der Client schickt über diesen Thread jede Sekunde etwas an den Server
Nun habe ich am Server einen Button und bei Klick soll auch etwas an den Clienten geschickt werden.
Nur muss ich ganz oft auf den button klicken und dann wird es vielleicht beim 10. mal oder so mal gesendet und empfangen.
Thread.Execute:
Delphi-Quellcode:
procedure TMain.Execute;
begin
while not Terminated do
Begin
S := FormatDateTime('hh:nn:ss', Time);
hour1:=strtoint(copy(S, 1, 2));
min1:=strtoint(copy(S, 4, 2));
sek1:=strtoint(copy(S, 7, 2));
sekunden1:=hour1*3600+min1*60+sek1;
time1:=Trunc(sekunden1-sTime);
nTime:=timetostr(secondstotime(time1));
synchronize(Update);
IdTCPClient.Host := GetIp(Host);
IdTCPClient.Port := Port;
try
IdTCPClient.Connect(100);
IdTCPClient.WriteLn(floattostr(time1));
status := IdTCPClient.ReadLn('', 5);
synchronize(poststatus);
IdTCPClient.Disconnect;
except
Synchronize(Soff);
end;
sleep(1000);
end;
end;
IdTCPServer.Execute
Delphi-Quellcode:
procedure TForm1.IdTCPServer3Execute(AThread: TIdPeerThread);
begin
TCP3:=AThread.Connection.ReadLn;
AThread.Connection.WriteLn(Status3);
label16.caption:=TimeToStr(secondstotime(strtoint(TCP3)));
status3:='';
end;
Könnt ihr mir ne bessere Methode nennen das zu verwirklichen?