Hallo
ich progge gerade an einem multiplayer Game und brauche wegen dem Speed das UDP Protokoll. Und nu ist immer wenn ich was sende(KEIN Programm neustart) die ClientID anderst. Ich wollt erst nen Identifikations-Header machen, aber ich brauch ja ne feste ID um Daten zurück zu senden.
Was kann ich da am besten machen??
MFG Arhur
UDP Protokoll - ClientID?
Deinen Namen solltest du schreiben können
.
Ich würde dies als Bug bezeichnen. Zwar hat das UDP Protokoll keine
möglichkeiten Clients wirklich auseinander zu halten aber man kann
Clients anhand ihrer IP und dem Quellport identifizieren. Auf dieser
Basis könnte man dann eine Array aufbauen und jedem Client einen
Eintrag sichern.
Aber der Port kann auch wechseln, da der Port für die UDP
Kommunikation nicht gesichert wird. Absolut sicher ist man nur,
wenn man ein "Hallo Server" Paket schickt. Der Server generiert
dann einen Schlüssel und sendet dann diesen Schlüssel in einem
"Hallo Client" Paket.

Ich würde dies als Bug bezeichnen. Zwar hat das UDP Protokoll keine
möglichkeiten Clients wirklich auseinander zu halten aber man kann
Clients anhand ihrer IP und dem Quellport identifizieren. Auf dieser
Basis könnte man dann eine Array aufbauen und jedem Client einen
Eintrag sichern.
Aber der Port kann auch wechseln, da der Port für die UDP
Kommunikation nicht gesichert wird. Absolut sicher ist man nur,
wenn man ein "Hallo Server" Paket schickt. Der Server generiert
dann einen Schlüssel und sendet dann diesen Schlüssel in einem
"Hallo Client" Paket.
Ich glaube nicht, dass das ein Bug ist. UDP ist ja ein verbindungsloses Protokoll, man nutzt ja keine klassische Client-Server-Architektur (per Connect, Accept etc.) wie bei TCP. Ich gehe davon aus, dass die wechselnde Client-ID damit zu tun.
Aber wie MVXA schon schrieb: wozu brauchst Du eine ClientID? Die IP des Absenders sollte doch zur Identifikation reichen?
Aber wie MVXA schon schrieb: wozu brauchst Du eine ClientID? Die IP des Absenders sollte doch zur Identifikation reichen?