Interessant timeout exception
Nu kommer der et spørgsmål jeg ikke helt ved hvordan jeg skal forklare, men here goes. Der køres almindeligt RMI over en SSL forbindelse. Hvis jeg prøver at få forbindelse til serveren hvor klienten også er internt på netværket virker det fint. Når man prøver udefra kommer der nogle problemer.Når man connecter får man fint fat i registry, og får fat i remote-objektet. Men når man prøver at kalde en metode på det, går det galt. Og her kommer så det interessante. Udefra skulle man kun kunne se min eksterne IP, og det er den man prøver at få forbindelse på. Men se lige på fejlmeddelelsen:
java.rmi.ConnectException: Connection refused to host: 192.168.1.10; nested exception is:
java.net.ConnectException: Connection timed out: connect
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:567)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:185
)
...osv
På fejlen ses min interne IP lige pludseligt. Min ide kommer her: Klienten connecter til server, og finder remote objektet i registry. Dette objekt siger at nu skal klienten lave en SSL forbindelse, og objektet fortæller at den skal lave denne forbindelse til den eneste IP objektet kender, nemlig der hvor den ligger, min interne IP. Når klienten nu prøver at oprette en forbindelse til min interne IP går det selvfølgeligt galt da han ikke kan bruge den over nettet.
Er det et muligt scenarie, og hvis det er - hvad kan man gøre ved det?
