Einzelnen Beitrag anzeigen

Benutzerbild von seim
seim

Registriert seit: 11. Nov 2007
83 Beiträge
 
#3

Re: Socket.ReceiveText in der Send-Funktion abfragen

  Alt 25. Okt 2008, 20:54
Glaube sowas nennt sich Pseudo Code.. man beschreibt in Worten die Funktion eines (gewünschten) Programmes, das Problem was ich nicht hinbekomme ist, wie man etwas in der Prozedur empfangen kann in der man auch gesendet hat. Man müsste dazu die Prozedur anhalten und auf den Empfangenen Text warten..

Eine Möglichkeit wäre z.B:
Delphi-Quellcode:
Receive: boolean;
ReceivedText: string;

function Ping(IP: string):boolean;
begin
  Socket1.Socket.SendText('ping,ping my server!');
  
  while not Receive do begin end; //Führt eine leere Schleife aus solange nichts empfangen wurde

  if ReceivedText = DerRichtige then //Erst wenn Receive True wurde wird die while Schleife beendet und das hier ausgeführt
    Result:= True;
end;

procedure TForm1.OnRead(Sender: TObject; Socket: TCustomWinSocket);
begin
  Receive:= true;
  ReceivedText:= Socket.ReceiveText;
end;
Allerdings gibt es dabei n Problem:
Während einer "while true do" schleife steht der CPU auf 100% auch wenn nichts ausgeführt wird - ergo: nicht zu gebrauchen
  Mit Zitat antworten Zitat