Indy liefert dir einen Datenstrom.
Das kommt zwar alles in
TCP Paketen an und und wird in
TCP Paketen gesendet, aber entweder das Betriebsystem oder
Indy verstecken diese "Mechanik" in einer Blackbox.
z.B. werden pakete zurrück gehalten wenn sie früher eintreffen als ein vor ihnen abgeschicktes Paket, da
TCP Pakete ja alle möglichen Wege durchs internet nehmen könnten.
Dann werden z.b. Datenmengen die kleiner sind als eine MTU oft nicht direkt abgeschickt sondern zurrückgehalten in der Hoffnung dass vielleicht noch mehr Daten verschickt werden die dann in dem selben
TCP Paket landen können und somit höhere Datenraten sichern. (Nagel algorythmus)
TCP/
IP tunnelt deine DATEN, darin musst du selver dein Protokoll bauen.+
z.b. das
AJ_OLDENDORF_TSTRINGS_Protokoll:
Jede Message fängt mit mit einem Zeichen an das nicht #10 ist.
Jede Message endet mit dem zeichen #10#13
oder das AJ_OLDENDORF_FESTELAENGE_Protokoll:
Jede Message ist 1000 zeichen lang.
Die ersten 4 Zeichen enthalten eine Prüfsumme für die folgenden 996 zeichen.
oder das AJ_OLDENDORF_FLEX_Protokoll:
Jede Message ist beginnt mit 4Byte in der die Länger der darauf folgenden Payload kodiert ist.
oder
SOAP (= HTTP/HTTPS +
XML + SOA Religion)
oder REST (= HTTP/HTTPS + HTTP-Verbs + JSON + Restfull Philosophy + SOA Religion)
USW.
Fehler korrektur kannst Du Dir im Falle von
TCP eigentlich sparen, da Reihenfolge und Störungsfreiheit der Daten schon in
TCP abgehandelt werden.