Thema: Delphi Indy-Komponenten

Einzelnen Beitrag anzeigen

Udontknow

Registriert seit: 17. Jun 2002
223 Beiträge
 
#3

Re: Indy-Komponenten

  Alt 18. Mai 2007, 13:47
Hallo!

Bezüglich TCP: Der Server hat eben kein Ereignis für ankommende Daten. OnExecute ist nur die Routine, die vom für die Verbindung bereitgestellten Thread angestossen wird, es wird direkt beim Connect angestossen. Mit dem Empfang von Daten hat das Ereignis nichts zu tun, dafür musst du ja dort auch wieder Read /Readln etc. aufrufen. Da der Server eben auch immer einen neuen Thread für eine Verbindung kreiert, gibt es dort kein "Blocking" des VCL-Threads.

Wie sollte Indy denn deiner Meinung nach das beim Client realisieren? Soll bei jedem eintreffenden Byte ein Ereignis getriggert werden?

Im Client musst du eben das Einlesen von Daten selber managen. Schau dir doch mal die SimpleTCP-Komponenten von mir an, dort realisiere ich es so, daß in einem separaten Thread Daten gesammelt werden und erst bei "Vollständigkeit" (bei mir komplette Übertragung eines Streams) per Synchronize ein Event getriggert wird.

Cu,
Udontknow
  Mit Zitat antworten Zitat