Hallo liebe Community!
Ich beschäftige mich zur Zeit mit UDP/TCP, wobei mir 2 Fragen aufgekommen sind.
Da ich gerne ein Netzwerkspiel programmieren möchte, in welchem mehrere Spieler (12) mitspielen können, dachte ich mir, dass UDP die bessere Variante ist, da viele Daten gesendet werde müssen.
Nun habe ich einen Server und einen Client erstellt. Ein simples Chatprogramm, welches TCP sowie UDP verwendet.
TCP funktioniert wunderbar und ich wollte nun testen ob das senden einer Chat-Nachricht auch über UDP funktioniert (ich weiß, dass da TCP bessere Wahl wäre, aber es soll ja nur ein Test sein)..
Also habe ich den Server gestartet und dann noch 2 Clients am selben PC. Dabei ist mir dann folgendes in den Kopf gekommen:
1. UDP schickt die Nachricht ja an die angegeben IP-Adresse inklusive Port.. Wenn ich das ja nun aber Lokal teste, gibt es ja 2 mal die IP-Adresse 127.0.0.1, welches wohl der Grund war, wieso der 1 Client keine Nachrichten bekommen hat, der andere aber dafür die Nachricht doppelt erhalten hat.
Wie kann ich nun ein UDP spiel, lokal testen, ohne diese Probleme zu bekommen? Oder liegt es an etwas anderes?
2. Muss der Client auch Portforwarding machen? Logischerweise ja eigentlich schon... aber wie funktionieren dann Games wie Counter-Strike? Das nutzt schließlich auch UDP und man muss nicht unbedingt als Client Ports öffnen!
Liebe Grüße!
Ich beschäftige mich zur Zeit mit UDP/TCP, wobei mir 2 Fragen aufgekommen sind.
Da ich gerne ein Netzwerkspiel programmieren möchte, in welchem mehrere Spieler (12) mitspielen können, dachte ich mir, dass UDP die bessere Variante ist, da viele Daten gesendet werde müssen.
Nun habe ich einen Server und einen Client erstellt. Ein simples Chatprogramm, welches TCP sowie UDP verwendet.
TCP funktioniert wunderbar und ich wollte nun testen ob das senden einer Chat-Nachricht auch über UDP funktioniert (ich weiß, dass da TCP bessere Wahl wäre, aber es soll ja nur ein Test sein)..
Also habe ich den Server gestartet und dann noch 2 Clients am selben PC. Dabei ist mir dann folgendes in den Kopf gekommen:
1. UDP schickt die Nachricht ja an die angegeben IP-Adresse inklusive Port.. Wenn ich das ja nun aber Lokal teste, gibt es ja 2 mal die IP-Adresse 127.0.0.1, welches wohl der Grund war, wieso der 1 Client keine Nachrichten bekommen hat, der andere aber dafür die Nachricht doppelt erhalten hat.
Wie kann ich nun ein UDP spiel, lokal testen, ohne diese Probleme zu bekommen? Oder liegt es an etwas anderes?
2. Muss der Client auch Portforwarding machen? Logischerweise ja eigentlich schon... aber wie funktionieren dann Games wie Counter-Strike? Das nutzt schließlich auch UDP und man muss nicht unbedingt als Client Ports öffnen!
Liebe Grüße!