Das ich die Daten zwischenspeicher stimmt schon. Damit will ich nur verhindern, das die Execute-Routine des Servers mehrmals aufgerufen wird und mir so den Speicher vollmüllt. Es hat auch noch den weiteren Vorteil, das die Daten so abgearbeitet werden, wie sie ankommen. Im Normalfall möchte ich nämlich nicht, das der nächste Befehl abgearbeitet wird (lineare Abarbeitung), bloss weil der vorherige mehr Zeit zur Abarbeitung verbraucht und nicht rechtzeitig beendet werden kann und daher auf dem Stack landet,der vermutlich sehr begrenzt ist. Inbesondere beim zerstückelten versenden von Dateien darf nicht der nächste Teil verarbeitet werden, bevor der vorherige abgearbeitet wurde.
| Zitat: |
| Eigentlich müsste doch das Ganze die Komponente für mich erledigen, so dass ich mich überhaupt nicht mit sowas befassen müsste. |
Das macht die Komponente ja auch, aber sie ruft mit jeder Ankunft von Daten automatisch die Execute Routine auf. Sie wartet nicht solange, bis du den vorherigen Aufruf wieder verlassen hast.
| Zitat: |
| Warum empfiehlt bloß jeder Indy |
Das liegt daran, das die TServer und TClient Komponente von Borland nicht mehr unterstützt werden und nur noch der Vollständigkeit halber dabei sind. (Hab ich zumindest irgentwo mal gelesen). Weiterhin kommt noch eine gute Netzwerkstabilität hinzu und natürlich letztlich der Support zu den Indys.
| Zitat: |
| Wenn ich das vorher gewusst hätte, was da auf mich zukommt, wäre ich bei der guten alten TServerSocket-Komponente geblieben... |
Da hättest du genau dasselbe Problem gehabt (und wahrscheinlich noch ein paar mehr dazu)
MfG
Quitzlinga