日期:2014-05-20  浏览次数:20839 次

RMI中怎么会自动把IP从内网映射到外网啊??
服务器的内网IP是 192.168.1.101 外网IP是 169.254.150.56 

Java code
Naming.lookup("rmi://192.168.1.101/Db");


可以成功的获得对象,但是执行该对象上的方法时会报出异常

java.rmi.ConnectException: Connection refused to host: 169.254.150.56; nested exception is
java.net.ConnectException: Connection timed out: connect
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)

奇怪的是,如果我服务端客户端的代码放在一台计算机上执行,就不会出现这样的问题。
我用的是内网IP,客户端也是在同一内网下的,为什么执行对象上的方法时被映射到外网上了??

------解决方案--------------------
奇葩的问题需要高手来解决,帮顶。