Einzelnen Beitrag anzeigen

mjustin

Registriert seit: 14. Apr 2008
3.005 Beiträge
 
Delphi 2009 Professional
 
#5

AW: Indy TCP Bild senden

  Alt 13. Mai 2013, 16:12
Ich kenne mich mit den Indies nicht sonderlich aus, aber AFAIK wird der Stream nicht "am Stück" übertragen, sondern häppchenweise, das heißt in kleinen Paketen (nach meiner Erinnerung so etwa 4 KB groß, ich kann mich aber auch irren). Diese müssen auch nicht unbedingt in der Reihenfolge ankommen, in der sie gesendet wurden. Wenn also Indy da nicht schon entsprechende Mechanismen eingebaut hat, wirst Du Dir darüber selbst Gedanken machen müssen.
Ja, Indy verwendet einen internen Puffer und schreibt diesen dann in den Socket wenn er voll ist, beziehungsweise wenn das Schreiben des Streams abgeschlossen ist.

TCP ist aber im Prinzip schon streamorientiert, das heisst Stream rein - Stream raus. Fehlende Pakete fordert die Gegenseite notfalls mehrmals an, bis alle in der richtigen Reihenfolge angekommen sind:

"In the event of packet loss, the receiver asks for retransmission or the sender automatically resends any segments that have not been acknowledged" http://en.wikipedia.org/wiki/Packet_loss

Auf der Empfängerseite braucht Indy nichts weiter zu tun als aus dem Socket zu lesen, da muss Indy zum Glück nichts wieder in die richtige Reihenfolge bringen
Michael Justin
  Mit Zitat antworten Zitat