Netzwerkprogrammierung: Packetverlust bei UDP ein Problem?
-
Hi!
Ich plan ein Spiel mit Netzwerkunterstuetzung, da mir dabei Geschwindigkeit wichtiger ist als zuverlaessiger Transport, wollt ich UDP einsetzen. Soweit ich mich noch an meinen Informatikunterricht erinnern kann, ueberprueft UDP nicht selbst, ob Packete auf dem Weg verloren gehen, deshalb meine Frage:
sollte ich selbst eine Pruefung in mein Protokoll einbauen, oder ist UDP zuverlaessig genug und stellt Packete problemlos zu?
-
Es prüft weder, ob Pakte verloren gingen, Duplikate eingetroffen sind und die Reihenfolge wird auch nicht wiederhergestellt.
Ich denke, dass kann bei einem Spiel problematisch werden, wenn gewisse Koordinaten in der falschen Reihenfolge oder garnicht ankommen. Da UDP eigentlich eher für Echtzeitanwendung genutzt wird und dir TCP das Leben wesentlich leichter macht frag ich mich, ob du wirklich UDP benutzen willst?
Zu der Fehlerquote kann man IMHO wenig sagen, das hängt wohl von vielen Faktoren ab.
-
Viele Shooter setzen doch auf UDP in Verbindung mit einem eigenen Überprüfungssystem.
-
Klar, machbar is es mit beidem. Ich würde aber mindestens ne Primitivüberprüfung einbauen (alle Pakete mit einer Sequenznummer < aktueller Sequenznummer verwerfen etc).
-
interpreter schrieb:
Klar, machbar is es mit beidem. Ich würde aber mindestens ne Primitivüberprüfung einbauen (alle Pakete mit einer Sequenznummer < aktueller Sequenznummer verwerfen etc).
jo, so eine Überprüfung sollte ausreichen. Darüber hatten wir aber schonmal einen Threads, benutz am besten mal die Suchfunktion