RMI的服务端接口代码需要继承Remote接口
接口中的方法需要抛出RemoteException
可以通过rmiregistry命令创建服务也可以通过Naming.bind("rmi://192.168.58.164:12312/Hello", 实例名)创建;
客户端通过Hello h = (Hello)Naming.lookup("rmi://192.168.58.164:12312/Hello"); 调用服务
RMI的缺点:
代码依赖ip和端口
RMI依赖于java远程消息交换协议JRMP(java remote message protocol), 该协议为java定制, 要求客户端和服务器端都用java编写
RPC是很麻烦的:多线程,socket,IO,都是让普通程序员很头疼的事情,于是就有牛人开发出了RPC框架(CORBA, RMI,Webservices,RESTful web services)