LocateRegistry.createRegistry(1099);
MyObject obj = new MyObject();
Naming.rebind("//local_ip:1099/TEST" , obj);
poi lo lancio con l'opzione -Djava.rmi.server.hostname=ip_pubblico
e ho impostato il port forwarding della 1099 verso local_ip
Il client invece:
IMyObject remoteObject = (IMyObject)Naming.lookup("//ip_pubblico:1099/TEST");
System.out.println("Lookup ok");
int val=remoteObject.sum(1,2);
System.out.println("val="+val);
Ma qui nascono i problemi!
L'output e' solo "Lookup ok", poi mi arriva una java.rmi.ConnectException: connection timeout
Accetto umilmente qualsiasi consiglio!!
Saluti
CarMas
Se puo' interessare lo stacktrace
java.rmi.ConnectException: Connection refused to host: ip_pubblico; nested exception is:
java.net.ConnectException: Connection timed out: connect
java.rmi.ConnectException: Connection refused to host: ip_pubblico; 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)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:101)
at SampleServerImpl_Stub.sum(Unknown Source)
at SampleClient.main(SampleClient.java:16)
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
at java.net.Socket.connect(Socket.java:452)
at java.net.Socket.connect(Socket.java:402)
at java.net.Socket.<init>(Socket.java:309)
at java.net.Socket.<init>(Socket.java:124)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFact
ory.java:22)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFact
ory.java:128)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:562)
... 5 more
?_?
sembra quasi che usi un'altra porta rispetto alla 1099... possibile?
Saluti
CarMas
>> L'output e' solo "Lookup ok", poi mi arriva una java.rmi.ConnectException:
>> connection timeout
>
> Se puo' interessare lo stacktrace
>
[cut]
>
> ?_?
> sembra quasi che usi un'altra porta rispetto alla 1099... possibile?
>
> Saluti
> CarMas
No assolutamente (i numeri dopo i ".java" indicano il numero di riga
del corrispondente file sorgente)
Semplice: la porta 1099 sull'IP pubblico è chiusa (firewall et
similia). Puoi provare tu stesso con un telnet
telnet ip_pubblico 1099
Sistema i firewall e le regole di routing, e assicurati di poter almeno
aprire la connessione con telnet prima di tentare con il client RMI.
--
Scientology: se la conosci la eviti, se la conosci non ti uccide...
http://xenu.com-it.net - http://xenu.freewinds.cx - http://www.xenu.net
(per rispondere personalmente leva IlDitoDalCulo)
---> 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0 <---