今试着跑一下《分布式计算原理与应用》第8章——高级RMI——的示例程序,分别实现了一个CallbackServer和一个CallbackClient。
CallbackServer对CallbackClient回调一个方法:notifyMe()。运行的时候出现了以下问题:
Exception in CallbackClient: java.rmi.ServerException: RemoteException occurred
in server thread; nested exception is:
java.rmi.ConnectException: Connection refused to host: *.*.*.*;(注:本机IP)
nested exception is:
java.net.ConnectException: Connection refused: connect
上网查了一下之后,发现是由于自己装了虚拟机,多了2个虚拟网络连接,其实就是rmi的多IP紊乱问题,解决方法很简单,直接把另外一个网卡禁掉(装了双网卡或者多网卡的情况),或者是把虚拟机的网络连接给禁止就OK了!另外的,如果安装的是新版本的red5的话,那么需要修改red5.project大概模样是这样,你找找吧,在conf这个文件夹下,修改里面的jmx将rmi.host=0.0.0.0改为你的服务器IP,就OK了!
参考资料:http://zhidao.baidu.com/question/203730248.html
于是我马上把那2个虚拟网络连接都禁用了,问题迎刃而解!