Hallo zusammen,
ich habe ein Problem bei der Programmierung einer Peer-to-Peer-Anwendung. Und zwar möchte ich zwischen jeweils 2 Computern Daten austauschen. Die Anzahl der verschiedenen Computer kann dabei groß werden und es können auch viele Anwender unterstützt werden. Ich möchte solche Verbindungen mittels UDP- oder TCP-Sockets aufbauen. Das Problem dabei: können 2 Rechner nur über Internet kommunizieren, muss ein ggf. dazwischen befindlicher Router so eingestellt werden, dass er Verbindungen auf einem bestimmten Port zu einem bestimmten PC in seinem verwalteten Netzwerk weiterleitet (Port forwarding). Dies habe ich mittels der COM-Bibliothek NAT UPnP 1.0, die im .net-Framework enthalten ist, bereits umgesetzt.
In mehreren Tests auf verschiedenen Systemen mit verschiedenen Routern habe ich allerdings festgestellt, dass alle Router im Auslieferungszustand UPnP deaktiviert haben, womit man normalerweise eine Port-Forwarding-Regel erstellen kann oder sogar keine Möglichkeit bieten, so etwas einzustellen. Gleichzeitig funktionieren andere P2P-Anwendungen wie Skype oder BitTorrent oder ähnliches tadellos.
Meine Frage lautet daher: Kann man dieses Adressierungsproblem bei Kommunikation über das Internet auch anders lösen und vor allem, wie?
Ich hoffe, mir kann jemand helfen, weil ich schon lange nach einer solchen Möglichkeit suche und einfach nichts finde. Schon das mit dem UPnP war ne harte Nuss…
Mit freundlichen Grüßen,
Bluesky787