Das ist so nicht ganz richtig.
[...]
Die WinSock
API bietet prinzipell die Möglichkeit über bestimmte Events (z.B Eintreffen neuer Daten) informiert zu werden (WSAEventSelect()).
[...]
Ob
Indy das benützt müsste man nachforschen.
Ok, das wusste ich nicht. Bei
Indy ist es jedenfalls so, dass die Daten erst über die Leitung gehen, wenn der Read-Request vom Client kommt. Zumindest habe ich das hier beim Debuggen festgestellt, dass der Breakpoint im Server erst dann ausgelöst wird, wenn im Client IOHandler.ReadXYZ ausgeführt wird.
Diese saubere Lösung schickt immer wieder Anfragen an den Server (Polling), ohne das der was zu sagen hat ... im schlechtesten Fall verbrezelst du haufenweise Bandbreite um letztlich keine einzige Nachricht zu bekommen.
Ok, da hast du natürlich recht.
Würde mich aber auch interessieren, wie das Pushen mit
Indy funktioniert, da ich momentan ja an einem ähnlichen Problem sitze und das mit der Polling-Methode gelöst habe, was auch sauber funktioniert. Und da in meinem Fall ohnehin immer mit Traffic zu rechnen ist, während der Server läuft, ist das nicht problematisch.