# Netzwerkprobleme Client-Server



## nasir (27. Nov 2010)

Hallo,

Ich habe Fragen über Fragen. Weiß leider keine Antwort und frage mich immernoch weiter. Ich lege mal los!

Also:

Das Prinzip Client - Socket - Server ist ja klar. Client kann z.B. mein Browser sein, Socket eben das Rohr was von meinem Client die Daten an den Server (irgendeine Webseite z.B. Google) überträgt. Das prinzip ist mir klar!

Sagen wir, ich habe zwei Jars erstellt, ich sitze hier und starte mit nem ServerSocket Befehl einen Server (Mein Server sieht fast so aus wie der hier: Java Standard: Socket ServerSocket (java.net) UDP und TCP IP ? Wikibooks, Sammlung freier Lehr-, Sach- und Fachbücher ). Warum kann der entfernte Nutzer nicht mit mir kommunizieren? Die Frage ist sehr dumm gestellt, weil vorallem er die IP Adresse (wieistmeineip.de) von mir kennt, wir über Port 1234 Kommunizieren möchten, er und ich unsere Firewall ausgeschaltet haben und dazu noch den Port freigegeben haben. Warum kann man nicht miteinander kommunizieren? Hardwarefirewall á la NAT wurde mit dem Port auch freigeschaltet.

Ich bin einfach zu doof dafür. Warum klappt das im eigenen Netzwerk, aber nicht übers Internet?

Müsste etwa mein Rechner eine statische DynDNS Adresse haben, damit die verbindung klappt?

Liebe Grüße,

nasir


----------



## preachie (27. Nov 2010)

Funktioniert es denn, wenn sowohl Server als auch Client auf einem Rechner laufen, bzw. in einem lokalen Netzwerk?


----------



## nasir (27. Nov 2010)

lokal klappt alles super! :noe:


----------



## XHelp (27. Nov 2010)

NAT ist nicht wirklich eine Firewall und Socket ist kein Rohr, aber zum Topic:
Da gibt es 1,2,ganzviele Möglichkeiten, warum es nicht laufen könnte. Am häufigsten liegt die Ursache im Code, von welchem hier aber nichts zu sehen ist.


----------



## preachie (27. Nov 2010)

Lokal auf einem Rechner? Oder auch im lokalen Netzwerk (falls vorhanden)?
Hängt denn Dein Rechner direkt am Internet oder über einen Router im lokalen Netzwerk?
Wenn Du ein lokales Netzwerk hast und dort 2 Rechner, könntest Du es von Rechner 1 auf Rechner 2 probieren, um erstmal den Computer selbst als Fehlerquelle auszuschließen, nicht dass er doch noch den Port blockt.

Wenn das auch geht, würde ich auf die Routerkonfiguration tippen. Bei den meisten Routern kannst Du Port-Forwarding einrichten, was Du in dem Fall auch tun müsstest. Sprich Deinem Router sagen, dass er eingehende Requests auf Port 1234 auf Deinen Server-Rechner weiterrouten soll. Ggf. musst Du das für TCP und UDP separat einstellen.

Ist bisschen schwer, das aus der Ferne zu analysieren 

Edit auf XHelps Post


			
				XHelp hat gesagt.:
			
		

> Am häufigsten liegt die Ursache im Code, von welchem hier aber nichts zu sehen ist.


Wenn lokal auf einem Rechner alles geht, schließe ich den Code ehrlich gesagt erstmal aus, wobei es natürlich trotzdem möglich sein könnte.


----------



## XHelp (27. Nov 2010)

preachie hat gesagt.:


> Wenn lokal auf einem Rechner alles geht, schließe ich den Code ehrlich gesagt erstmal aus, wobei es natürlich trotzdem möglich sein könnte.



Du kannst den SocketServer auch nur auf localhost ansetzen...


----------

