# RMI und NAT?



## grayson (22. Jul 2005)

Ja Hallo erstmal..... 

ich hab mal wieder ein kleines problem...chen.

ich habe ein spiel geschrieben, das mit RMI und callbacks arbeitet also client und server sind gleichzeitig client und server ---> was'n wortspiel...



das ganze läuft auch ganz ansehnlich, solange keine NAT beim client läuft bzw der client in der DMZ steckt.


offensichtlich geht das exportieren des remoteobjektes auf die internet ip nicht so richtig mit NAT.



weis da jemand ne lösung ?????


hier mal die client logausgabe beim connect durch eine NAT:




```
0 [main] INFO root  - client IP is : 84.182.215.236
0 [main] INFO root  - client IP is : 84.182.215.236
1062 [main] INFO root  - Connected to :server.LobbyServer_Stub[RemoteStub [ref: [endpoint:[www.mechstrategic.de:3333](remote),objID:[10f6d3:1053dc52bfc:-8000, 0]]]]
1062 [main] INFO root  - Connected to :server.LobbyServer_Stub[RemoteStub [ref: [endpoint:[www.mechstrategic.de:3333](remote),objID:[10f6d3:1053dc52bfc:-8000, 0]]]]
```
danach ist schluss und es passiert langenichts mehr... auf dem server der im internet läuft (dort ist keine NAT oder sowas) passiert in der zeit garnichts, bis es irgendwann mal zum timeout kommt.


```
0 [main] INFO root  - starting lobby server...
0 [main] INFO root  - starting lobby server...
0 [main] INFO root  - starting lobby server...
12 [main] INFO root  - retrieving planets from DB...
12 [main] INFO root  - retrieving planets from DB...
12 [main] INFO root  - retrieving planets from DB...
1147 [main] INFO root  - Planets loaded...
1147 [main] INFO root  - Planets loaded...
1147 [main] INFO root  - Planets loaded...
1148 [main] INFO root  - starting UserListThread...
1148 [main] INFO root  - starting UserListThread...
1148 [main] INFO root  - starting UserListThread...
1151 [main] INFO root  - starting FightThread...
1151 [main] INFO root  - starting FightThread...
1151 [main] INFO root  - starting FightThread...
1153 [main] INFO root  - server running at: 84.244.1.124
1153 [main] INFO root  - server running at: 84.244.1.124
1153 [main] INFO root  - server running at: 84.244.1.124
1289 [main] INFO root  - servername = 84.244.1.124
1289 [main] INFO root  - servername = 84.244.1.124
1289 [main] INFO root  - servername = 84.244.1.124
```

eigendlich sollte da jetzt kommen ----> logge client blah blub ein....


----------



## grayson (22. Jul 2005)

ok, habs jetzt so gemacht das ich das remoteobjekt auf einem bestimmten port exportiere, der sich in einer property datei festlegen lässt, somit weis man nun auf welchen port man forwarden muss und kommt mit RM auch durch die firewall / NAT   vieleicht hilft dieser lösungsansatz ja noch wem......

 :wink:


----------



## Gast (24. Apr 2006)

hatte das gleiche problem. eine genaue beschreibung der lösung findet man hier:

 http://java.sun.com/j2se/1.5.0/docs/guide/rmi/socketfactory/index.html


----------

