Registriert seit: 3. Sep 2004
4.629 Beiträge
Delphi 10.2 Tokyo Starter
|
AW: Eigenes Protokoll - Prinzipieller Aufbau
6. Aug 2012, 20:36
Indem du ein paar Bytes mit der jeweiligen Paketlänge vorwegschickst, kannst du auf jeden Fall alle Pakete zu 100% korrekt trennen. Egal, ob 3 1/2 auf einmal ankommen oder ein Paket 4 Durchläufe braucht, um komplett zu sein.
Wenn du lange Datenströme abbrechen willst, kannst du das realisieren, indem du deine Daten auf der Seite des Senders in kleine Blöcke (z.b. 32KiB) aufteilst und dann in einer Schleife sendest. In meinem kleinen Protokoll wird neben dem Header mit der Gesamtgröße auch vor jedem kleinen Teilpaket noch ein Header mit gewissen Flags gesendet. Über diese Flags steuere ich dann beispielsweise auch den Abbruch eines Transfers.
Bei mir war die Zielsetzung allerdings auch anders, denn ich wollte mehrere simultane Transfers über ein einzelnes Socket realisieren und dazu noch ein Prioritätssystem einbauen.
|