# RMI ohne Portforwarding?



## Extremefall (9. Aug 2011)

Hallo,
ich habe nun eine kleine App geschrieben, die über RMI funktioniert. Dadurch wird eine Verbindung zwischen einem Server und dem Client aufgebaut. Die Verbindung erfolgt über die IP Adresse des jeweiligen Verbindungspartners.

Nun habe ich geschafft, mittels RMI einen Methode der anderen JVM über diese Verbindung über das Internet aufzurufen. Dazu war folgendes notwendig:
- der Port 1099 (registry) musste auf den Server PC weitergeleitet werden
- der Server wurde gestartet
- Der Aufruf über die Serverinstanz mittels RMI wurde gestartet

Nun kann ich natürlich nicht das gleiche über den Server zum Clienten machen, da dafür auch der Port 1099 (mindestens für den reinen Methodenaufruf) freigegeben werden müsste.

Kann ich also ohne Port-Forwarding irgendwie RMI über das Internet nutzen? Denn sonst müsste ich für x-Clienten (z.B. 10), zehn mal den Port 1099 freischalten + 1 mal den Port für den Server. Kann man das irgendwie umgehen oder muss ich halt jeden Port für jeden Clienten freischalten? Das wäre dann ja bei einem großen Netzwerk schon problematisch.


----------



## Marcinek (10. Aug 2011)

Hallo,

sind die Clients mit RMI Registrys ausgestattet und fungieren als Server?

Wenn ja, dann musst du die Ports freischalten oder UPNP nutzen. 

Wenn nein, dann muss es nur im Netzwerk des Servers konfiguriert werden.

Gruß,

Martin


----------



## nillehammer (10. Aug 2011)

Für die Clients brauchst Du das nicht. Die Connection zum Server ist ja schon aufgebaut. Oder machst Du einen Rückkanal auf?


----------

