WAN-TCP-Verbindung

  • VB.NET
  • .NET (FX) 4.0

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von MarioGeier00.

    WAN-TCP-Verbindung

    Hey, ich möchte gerne ein Chat-Programm über das Internet laufen lassen. Nur wenn mein Kumpel versucht zu Connecten verbiendet sich der client nicht mit meinem Server.
    -Habe den port weitergeleitet auf den Server (Telekom Router)
    -habe firewall auf dem rechner wo der server läuft deaktiviert
    -Im lokalen netzwerk funktioniert die tcp verbindung (localhost sowieso)

    Ich weiß echt nicht, was ich sonst noch probieren soll. Liege ich irgendwo falsch? Kann mir jemand von euch weiterhelfen? Über hilfe würde ich mich freuen. ^^
    Naja aber ich hab schon meine Wan-Ip verwendet, um vom Client eine Verbindungsanfrage zu meinem Route, dann zu meinem Serverprogramm herstellen zu können. Nur, und da hast du recht, habe ich mal mein Device über ein Port meiner öffentlichen Wan ip suchen lassen, und mein Router soll laut dieser Website 300 km von meinem haus sein mit dem internet entfernt sein = DynDns

    Muss ich also ein Server, der über einen Host aufrufbar ist, erstllen?
    Ich versteh deinen Text jetzt zwar nicht, aber ich denke ich weiß was du meinst. Also Grundlagen:
    Der Router erstellt ein Heimnetzwerk. Die Computer connecten jetzt zu dem Router und bekommen eine IP zugewiesen bzw. sie melden sich statisch an. Die IP des PCs ist dann bspw 192.168.1.101. Unter der IP ist der PC nun erreichbar, aber nur in dem Heimnetz, indem er angemeldet ist. Bedeutet also, du kannst nicht von dem PC deines Nachbarn auf die IP zugreifen bzw. es ist dann ein anderes Gerät statt deines PCs.
    Wenn der PC nun zum Internet connected gibt der Router deinem PC eine zweite IP mit der die Server mit deinem PC kommunizieren können. Diese IP wechselt sich allerdings ständig. Man kann zwar auf den PC zugreifen, wenn man diese IP hat, allerdings ist das relativ nutzlos, da sich die IP stetig ändert.
    Um das zu umgehen hat man DynDNS entwickelt. Es ist wie ein normales DNS, zumindest in Prinzip. Es gibt Server auf denen Datenbanken oder sowas ähnliches sind, in denen dann wiederum den IP-Adressen von Servern gewisse Adressen in Form von Strings zugewiesen sind. Das heißt wenn man im Browser "google.de" eingibt, wird vom DNS-Server die IP des Google-Servers geholt und dann wird zu diesem connected.
    Bei DynDNS ist es so, dass auf dem PC dann ein Dienst im Hintergrund läuft der dann in Intervallen die IP-Adresse des PCs bei dem DynDNS-Server aktualisiert. Dadurch ist gewährleistet, dass der PC über die eine Adresse wie "hallo.dyndns.de" erreichbar ist.
    Anbieter für DynDNS ist zB NoIP
    Allerdings kann man nicht einfach so auf die Ports des PCs dann zugreifen, da der Router die Kommunikation blockt. Deshalb muss man die Ports freigeben= Portforwarding

    Bedeutet für dich, dass du DynDNS einrichten kannst, um auf den PC auch von anderen PCs aus zuzugreifen und du musst die entsprechenden Ports freigeben. Dabei gehst du ein gewisses Risiko ein.

    LG

    PS:Wer Fehler in meiner Erklärung findet, bitte verbessern
    Ja vielen dank für die ausführliche erklärung :D Hilft mir sehr weiter, denn jetzt habe ich mehr sicherheit, dass ich das, was ich vorhabe, richtig gedacht habe.
    Anmerkung: etwas neuere Server haben einen Clienten für dyndns drin, dann muss man nur noch benutzername und anbieter und passwort angeben schwubs fertig! Hab heute mit meinem Lehrer geredet :D

    Dane nochmal an dich
    Mal wieder nur Theorie, Praxis ist was anderes: Hab mich bei No-IP angemeldet, alles ordnungsgemäß eingegeben, und dann den Clieten korrekt, aber nichts funzt! Was könnte ich denn falsch gemacht haben? Denn langsam ist echt meine Geduld am Ende :/

    EDIT: LG ^^
    Nun wäre folgende Vorgehensweise empfehlenswert:
    Dein Server MUSS alles was er macht in eine Datei schreiben. Debuggen kannste ja wohl schlecht. Wichtig ist zu wissen, ob überhaupt etwas bei deinem Programm ankommt.
    Wenn dein Programm keine Nachrichten empfängt, checke mal die Firewall-Regeln des Servers und füge evtl. eine Regel für dein Programm hinzu.
    Sollte noch immer nichts ankommen, kann man mit Wireshark noch nachsehen ob auf dem gewünschten Port überhaupt irgendetwas ankommt.
    Wenn auch hier nichts zu finden ist, dann sollte dein Kollege aufhören dich anzulügen ;) :P
    Spaß beiseite, er sollte Checken ob nicht irgendetwas (FW, proxy, whatever) ausgehende anfragen auf dem von dir belegten Port blockiert.
    Btw. Welchen Port haste dir denn ausgesucht?