Connection refused 127.0.0.2

Hallo,

ich habe eine Java-Server-Applikation, die gewöhnlich unter Windows läuft, nun auch mal unter Linux installiert. Diese wird als „Dienst“ gestartet. Dazu nutze ich einen Dienst-Wrapper, zu finden unter http://wrapper.tanukisoftware.org

Mit der Server-Applikation verbinden sich per RMI mehrere Client-Applikationen. Als Rückkanal wird eine Socket-Verbindung geöffnet.

Starte ich meine Server-Applikation unter Linux und verbinde einen Client von einem Windows-Rechner oder aber einem anderen Linux-Rechner aus mit diesem Server, so bekomme ich stets die Meldung „Connection refused to 127.0.0.2“.

Starte ich den Server und einen Client auf dem gleichen Linux-Rechner, so habe ich keinerlei Probleme.

Nach Analyse des Codes habe ich festgestellt, dass bei Erzeugen des Rückkanals kein Port für den ServerSocket übergeben wird, was in Java bedeutet, dass ein beliebiger freier Port verwendet wird. Das scheint unter Linux aber so nicht zu wollen, weil ich vermute, dass eben hier die Restriktionen etwas härter sind, als bei Windows.

Eine Firewall war bei den Tests deaktiviert. Gibt es eine einfache Möglichkeit, das Problem zu umgehen? Ich möchte ungern eine eigene Portverwaltung in die Server-Applikation einbauen, da prinzipiell viele Clients gleichzeitig verbunden werden.

Danke für Tipps oder Schelte, falls ich lieber im Java-Forum bleiben sollte :smile:
Ciao, Bill

Moien

Starte ich meine Server-Applikation unter Linux und verbinde
einen Client von einem Windows-Rechner oder aber einem anderen
Linux-Rechner aus mit diesem Server, so bekomme ich stets die
Meldung „Connection refused to 127.0.0.2“.

Taucht die IP 127.0.0.2 irgendwo in „ifconfig“ oder „route“ auf dem Rechner auf ?

Nach Analyse des Codes habe ich festgestellt, dass bei
Erzeugen des Rückkanals kein Port für den ServerSocket
übergeben wird, was in Java bedeutet, dass ein beliebiger
freier Port verwendet wird.

Und eine beliebige IP. Die JVM denkt wahrscheinlich die lokale IP wäre 127.0.0.2. Das bringt einiges durcheinander. Die IP arbeitet nämlich nicht über Netzwerk, nur lokal…

cu