Einzelnen Beitrag anzeigen

Lord_stelzer

Registriert seit: 24. Okt 2006
Ort: Hannover
13 Beiträge
 
#1

ReadLn im Thread wird nicht ausgeführt

  Alt 17. Jul 2009, 14:04
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?
  Mit Zitat antworten Zitat