Einzelnen Beitrag anzeigen

Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#8

Re: Zuverlässiger UDP Client gesucht

  Alt 26. Mär 2010, 09:20
@Poolspieler:

Ich weiß nicht wo Dein Problem beim IdUDPServer liegt,
Du kannst im OnUDP ankommende Nachrichten empfangen und in dieser Procedure
auch gleich wieder antworten.
Hier ein Bsp. Code, aber Achtung der ist noch von Indy9:

Delphi-Quellcode:
procedure TfrmUdpXYZ.IdUDPSvrUDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle);
Var   DataStringStream: TStringStream;      
      sRequest : String;
      sReply : String;
begin
   DataStringStream := TStringStream.Create('');
   try
      DataStringStream.CopyFrom(AData, AData.Size);
      sRequest := DataStringStream.DataString;
   finally
      FreeAndNil(DataStringStream);
   end;
        // Request auswerten und Antwort schicken
   sReply := 'MyRESPONSE';
   ABinding.SendTo(ABinding.PeerIP, ABinding.PeerPort, sReply[1], Length(sReply));
end;
Das sollte relativ einfach nach Indy10 zu portieren sein.(WriteTIdBytesToStream)

Einen entsprechenden Client würde ich gründsätzlich, egal ob UDP oder TCP in einen Thread auslagern, der sich ums SEnden und empfangen kümmert.

Greetz Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat