UDP Packete Sortieren

A

animus77899

Gast
Ich suche eine Möglichkeit, UDP Packete, die nummeriert sind und eventuell bei der Übertragung vertauscht wurden wieder in die richtige Reihenfolge zu bringen. Welche Datenstruktur würde sich hier als Buffer anbieten? Wäre über Vorschläge sehr dankbar.
 

hemeroc

Bekanntes Mitglied
Vielleicht muss er ja aus irgendeinem Grund UDP verwenden? (ich kann mir ein paar vorstellen von hole-punching bis multicasting)

Grundsätzlich würd ich so vorgehen, dass ich die nummerierung konsistent halte sprich 1..2..3..4..n
wenn du dann 1..2..4 bekommst dann würd ich 1 und 2 verarbeiten und sobald das 4te kommt alle weiteren pakete in eine liste schreiben, solange bis ich das 3te kommt danach würde ich die liste soalange durchgehen bis ich wieder auf eine auf eine nummer stoße die noch nicht da sein sollte ab da gehts wie oben beschrieben weiter.
Was du dabei nie vergessen darfst UDP hat keine "empfangsgarantie" solltest du also nach einer gewissen zeit noch immer kein paket haben auf das du aber wartest dann musst du es manuell erneut anfordern, kann ja auch verloren gegangen sein. Hierbei ist wieder zu beachten das sich die Latenzzeiten erheblich vergrößern

Allgemein hat HoaX natürlich recht TCP würde das alles für dich sicherstellen, solltest du dennoch udp verwenden wollen hast du jetzt einen ansatz.

LG Hemeroc
 

Ähnliche Java Themen


Oben