Einzelnen Beitrag anzeigen

mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#6

AW: Indy TCP Client/Server: spontan Nachricht an den Server senden?

  Alt 10. Jun 2013, 07:42
Bei Indy zum Beispiel etwa so, die Prozedur wird dann einfach von Zeit zu Zeit innerhalb der while Schleife aufgerufen
Zeit zu Zeit bedeutet aber, dass ich dass wirklich nur Zeit zu Zeit aufrufen muss, oder?
Wenn ich z.B. jede 10 Sekunden den InputBuffer prüfe und der Client innerhalb des Intervals etwas schickt, wirkt sich das negativ auf das Senden der Daten aus? Mir ist halt sehr wichtig, dass das Senden nicht beeinträchtigt wird.
Die zehn Millisekunden Verzögerung bei CheckForDataOnSource könnten bei sehr zeitkritischen Anwendungen ein Problem darstellen, wenn sie sehr oft (in kurzen Intervallen) dazwischenfunken. Entweder ruft man die Prozedur dann nur z.B. jeden n-ten Durchlauf der Sendeschleife auf, oder - aber das ist ein wenig aufwendiger - man verlegt die Prozedur in einen eigenen Thread. Die beiden Streams des Sockets können von zwei verschiedenen Threads gleichzeitig benutzt werden - ein Sende-Thread, ein CheckForData-Thread. (Bei Synapse geht das nicht, wegen Verwendung von class-Variablen, aber mit Indy ist es im Prinzip möglich laut Remy Lebeau).
Michael Justin

Geändert von mjustin (10. Jun 2013 um 08:22 Uhr)
  Mit Zitat antworten Zitat