Netzwerk programmierung

Einstiegsfragen, Mathematik, Physik, künstliche Intelligenz, Engine Design
Antworten
DominicMoret
Beiträge: 4
Registriert: 02.02.2010, 21:56
Wohnort: Zürich, Schweiz

Netzwerk programmierung

Beitrag von DominicMoret »

Hallo

Ich habe begonnen, netzwerk programme zu erstellen. Ich verwende C++ und enet. Das alles funktioniert auch schön, nur kann ich nicht jedem Computer Daten senden, aufgrund der Network Address Translation (NAT). Wie ist es möglich, z.B. ein kleines Chat-Programm zu erstellen, bei dem nur 2 Personen miteinander schreiben, aber jeder Computer kann mit jedem anderen sich verbinden. Das sollte ja wohl ohne einen Server funktionieren...? Ich habe schon von port-forwarding und nat-punchthrough gehört, weiss aber nicht wirklich was das ist bez. wie es funktioniert.

Kann mir jemand einige Informationen zu diesem Thema geben?
Vielen Dank
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4260
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Netzwerk programmierung

Beitrag von Chromanoid »

DominicMoret hat geschrieben:aber jeder Computer kann mit jedem anderen sich verbinden. Das sollte ja wohl ohne einen Server funktionieren...? Ich habe schon von port-forwarding und nat-punchthrough gehört, weiss aber nicht wirklich was das ist bez. wie es funktioniert.
Mmh ich fürchte du wirst, wenn die Computer hinter Routern sitzen, i.d.R. immer einen Server brauchen, der als "Treffpunkt" für die beiden "Peers" funktioniert. Du könntest dir mal das STUN Protokoll anschauen. Und selbst mit einem STUN Server als Vermittler kann nicht immer eine P2P Verbindung aufgebaut werden. In so einem Fall muss dann wohl alles von einem öffentlich erreichbaren Server weitergeleitet werden.

EDIT: hier eine open source impl. des stun protokolls: http://sourceforge.net/projects/stun/
pUnkOuter
Establishment
Beiträge: 303
Registriert: 15.04.2002, 15:59

Re: Netzwerk programmierung

Beitrag von pUnkOuter »

Ja, da wirst du nicht um einen Vermittler rumkommen. Ist ein gängiges Problem z.B. auch bei Strategiespielen, die meistens P2P Netzwerk einsetzen (weil man ja nicht will, dass wenn der Host geht, das Spiel für alle aus ist).
Ein Zeiger ins Blaue ist wie ein Wegweiser nach <SEGFAULT>. Wenn du denkst, mein Name hat was mit abgefuckter Kleidung und bunten Haaren zu tun, dann kehr besser um.
anonym
Beiträge: 79
Registriert: 15.07.2009, 07:35
Kontaktdaten:

Re: Netzwerk programmierung

Beitrag von anonym »

Hier ist ein Nat-Punchthrough-Algorithmus samt ein paar Informationen zu den Hintergründen beschrieben.
Antworten