我在Mac上运行了一个RMI服务器。一旦我更改了服务器IP并重新启动应用程序和客户端,客户端就会使用正确的绑定和查找地址保持连接到旧的IP地址。我真的不知道出了什么问题,因为该程序正在使用不同的端口处理另一台Linux服务器。
远程对象客户端获得的是Proxy[MinervaInterface,RemoteObjectInvocationHandler[UnicastRef [liveRef: [endpoint:[192.168.0.104:51815](remote),objID:[40d99efb:140ba232cec:-7fff, 6333954213550330995]]]]]
其中192.168.0.104是旧IP,应该是10.0.1.104
我检查了主机文件和我的代码,没有像192.168.0.*
请帮助,谢谢。
更新
我已经确认这是一个服务器注册表问题。但我已经重新启动了服务器。我不记得我对注册表做了什么。有没有办法手动设置?
更新
我在该服务器InetAddress.getLocalHost().getHostAddress()
上验证了此代码,它返回192.168.0.104
,可以解释此地址的来源。但是现在服务器上没有这样的地址
解决
我发现java使用主机名来查找localhost地址,该主机名不是localhost
,并且由于某种原因尚未由OS X Server
更新。我从OS X Server控制台更新了记录并解决了这个恼人的问题。
永远不会想到这个