Routereinstellungen für Java Socket

  • Hallo Leute,

    also bis jetzt hab ich Socketprogrammierung immer über Hamachi gelöst, weil ich mir da die Routerkonfiguration sparen konnte. Jetzt wollen aber manche Hamachi nicht mehr benutzen und ich wollte mich doch mal ranwagen und die Ports freischalten.
    Sind 3 Stück. Hab die einfach mal für UDP und FTP (was brauch ich denn eigentlich) über PortForwarding freigeschaltet. Ohne Erfolg.
    Bei Virtual Server kann ich allerdings nur 1 Port pro Service freischalten. Muss ich da dann 3 Einträge machen oder brauch ich eine ganz andere Einstellung?

    Vielen Dank für euer Bemühen und ein frohes neues Jahr 2010

  • Sind 3 Stück. Hab die einfach mal für UDP und FTP (was brauch ich denn eigentlich)

    UDP ist ein Layer 4-Protokoll, FTP ein Layer 7-Protokoll, das auf TCP als Layer 4-Protokoll basiert, also zwei recht unterschiedliche Dinge. ;)

    Ich nehm an, du meinst, ob du TCP oder UDP brauchst: Wenn du in Java Socket und ServerSocket verwendest, verwendest du TCP, DatagramSockets sind für UDP.

    Bei Virtual Server kann ich allerdings nur 1 Port pro Service freischalten. Muss ich da dann 3 Einträge machen oder brauch ich eine ganz andere Einstellung?

    Drei Einträge machen. Fürs Portforwarding ist es völlig unerheblich, ob diese drei Ports irgendwas miteinander zu tun haben oder nicht.

  • keine anhung was virtual server ist, aber du musst schon am router das portworwaring einstellen
    wenn du in deiner app die ports 111, 222 und 333 nutzt, musst du eben diese weiterleiten, und eben tcp oder udp auswählen, je nachdem wofür du den jeweiligen port nutzt

    das müssen natürlich die anderen leute die dein programm nutzen auch bei ihrem router dann so einstellen

    schau dir einfach mal das menü am router an wo du die portforwards einrichten kannst, und du wirst sehen das ist garnicht so kompliziert :)

  • Hmmm
    das heißt, dass nicht nur der, der den Server-Socket startet, sondern auch der, der den Client-Socket startet, die Ports freischalten muss?

    Das wusste ich nicht

    danke

  • das heißt, dass nicht nur der, der den Server-Socket startet, sondern auch der, der den Client-Socket startet, die Ports freischalten muss?

    Moment mal, was willst du denn überhaupt machen?

    Du hast auf deinem Windows-Rechner Virtual Server laufen, darin läuft als virtuelle Maschine ein Betriebssystem, in welchem dein Java-Programm läuft, welches an drei Ports lauscht.

    Ich nehme an, du willst von außen zugreifen. Das lässt sich in zwei Schritte unterteilen:

    • Herstellen einer Internetverbindung für die virtuelle Maschine. Das geht laut meinen schnellen Google-Recherchen über die Internet-Verbindungsfreigabe von Windows. Dann arbeitet Windows als NAT-Router. Bridging des physikalischen Netzwerkinterfaces deines PCs und des Netzwerkinterfaces von Virtual Server könnte auch gehen, wenn dein Windows-PC ohnehin an einem NAT-Router hängt.
    • Die entsprechenden Ports weiterleiten. Das sind Einstellungen, die du bei der Internet-Verbindungsfreigabe von Windows vornehmen kannst. Oder, wenn du das erwähnte Bridging verwendest, in deinem NAT-Router.
  • Ich glaub ich hab hier für einige Verwirrung gesorgt. Tschuldigung.

    Ich will folgendes machen. Ich habe ein Java-Programm bestehend aus einem Client Teil, der über die Klasse Socket verbindet, und einem Serverteil, der über die Klasse Serversocket auf Verbindungen wartet.
    Auf einem PC läuft also das Serverteil und auf dem anderen PC der Clientteil.
    Bei meinem Router (D-Link DIR-655) gibt es folgende Einstellungen die mit Ports zu tun haben:
    1. Virtual Server, da kann man eine IP Adresse eingeben und einen Public- sowie Private-port. Außerdem den Protokolltyp (bräuchte ich ja dann TCP)
    2. Port Forwarding, da kann man eine IP Adresse eingeben und mehrere Ports angeben (nichts mit public private etc.) und den Protokolltpy (bräuchte ich ja dann TCP)

    Meine Fragen sind:
    Muss ich bei 1 oder bei 2 etwas einstellen damit ich den Server-Teil benutzen kann.
    Muss mein Freund, der den Client Teil verwendet ebenfalls Ports freischalten.

    Hoffe ich hab mich diesmal verständlicher ausgedrückt

  • ich würd sagen es sollte passen wenn du auf deinem router die ports auf die ip des servers durchleitetest (dafür wärs praktisch dem server eine fixe ip, also nicht über dhcp zuzuweisen - es sei denn du hast auch sowas wie "port triggering", das gibts zumindest auf meinem netgear router)

    dein freund mit dem client muss dann ebenfalls die ports vom router auf seinen rechner durchleiten

    also option 2)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!