Verbindung zum Server fehlgeschlagen

TheBohne

Aktives Mitglied
Hay ihr,
bin momentan an einem kleinen Spiel dran. Mein Problem nun ist jedoch, wenn ich versuche den Spiele-server über meine öffentliche IP zu erreichen scheitert dies. Um genauer zu sein der Server scheint gefunden zu werden und eine Verbindung kann auch hergestellt werden, jedoch wenn Strings gesendet oder empfangen werden sollen funktioniert es nicht. An den Funktionen kann es nicht liegen. Diese funktionieren im Localbetrieb. Der Port ist auch Freigegeben. Was könnte das Problem sein?

Server erstellen:
Java:
this.serverSocket = new ServerSocket(port,0, InetAddress.getByName("192.168.2.103"));

Client erstellen:
Java:
this.socket = new Socket("Öffentliche IP", port);
 
Bin nun etwas weiter gekommen... Der Server kann von anderen Rechner über die öffentliche IP erreicht werden. Einzig und alleine Ich kann von meinem Rechner den Server nur mit der privaten IP erreichen... Wie kann ich verallgemeinern, dass auch ich den Server mit der öffentlichen IP erreichen kann, oder ist das nicht möglich?
 
Probier doch mal, nur den Port im Konstruktor zu übergeben. Dann sollte sich der ServerSocket an alle verfügbaren Adressen binden und damit überall perfekt erreichbar sein.
 
Naja wenn ich nichts angebe kommt die Meldung:
Java:
2014.06.27 - 16:24:20 	Verbindung.Verbi	I	AVerbindung		Neuer Server auf Adresse. 0.0.0.0/0.0.0.0
Bedeutet ja eigentlich das der Server dann nur auf dem Localhost läuft. Verbindung mit dem Client kann ich dann auch nicht herstellen :/
 
0.0.0.0 bedeutet "nicht gebunden" - also keine spezifische Adresse.
Welchen Konstruktor hast du nun genommen?
Java:
ServerSocket server = new ServerSocket(port);

Den würde ich nehmen, bei mir geht das alles.
 
Ach, ich glaube jetzt habe ich dich erst verstanden. Du hast einen Server und möchtest vom gleichen PC auf diesen Server verbinden? Das ist in der Tat nicht über die öffentliche IP möglich.
Naja, gut. Möglich schon aber dafür müsstest du deinen Router ganz speziell einstellen und das geht bei den herkömmlichen nicht.
Ich habs bei meiner Hardwarefirewall/Router gemacht aber nur geschafft, weil es eben einfach ein Linux System ist, auf das ich Root Zugriff habe.
 
Zuletzt bearbeitet:

Zurück
Oben