题
让我们假设路由器的公网IP是92.1.85.179结果 计算机与服务器的本地IP 192.168.0.2是点击 该路由器被设置转发到92.1.85.179:5678 192.168.0.2:5678
在我有服务器:
System.setProperty( "java.rmi.server.hostname" , "92.1.85.179" );
Registry registry = LocateRegistry.createRegistry( 5678 );
registry.rebind( "TheWebServer" , webServerInt );
在客户端有:
Registry registry = LocateRegistry.getRegistry( "92.1.85.179" , 5678 );
server = (WebServerInterface) registry.lookup( "TheWebServer" );
当客户端在网络上的本地服务器它的确定。如果客户端在本地网络它得到java.rmi.ConnectException外:连接拒绝主机:192.168.0.2;
显然,服务器给客户机的192.168.0.2的IP,因为它没有在代码,我认为System.setProperty( "java.rmi.server.hostname" , "92.1.85.179" );
本来变化出现。
任何输入,将不胜感激。
解决方案
您需要导出您的远程对象在端口5678也和你导出任何远程对象之前,你需要设置java.rmi.server.hostname。
不隶属于 StackOverflow