实现一个RIM程序
ü1.创建一个远程接口,并继承java.rmi.Remote接口
ü2.实现远程接口,并且继承UnicastRemoteObject
ü3.创建服务器程序,同时使用createRegistry方法注册远程接口对象
ü4.创建客户端程序,通过Naming类的lookup方法来远程调用接口中的方法
![](https://oscimg.oschina.net/oscnet/up-b1c2438dfa0498d15e2c9103c93b568eac7.png)
手写RPC
n解决服务在远端的问题
ØTCP/IP通讯
Ø二进制传输
![](https://oscimg.oschina.net/oscnet/up-ae67ec9c5955bd8d5439988a4d645ffd919.png)
n解决客户端简单调用的问题
Ø客户端存根(Stub)
Ø迭代
![](https://oscimg.oschina.net/oscnet/up-cd4f9385e7baf828097618d72993a4de168.png)
nRPC核心技术
Ø动态代理——隐藏网络细节
![](https://oscimg.oschina.net/oscnet/up-b5c143d4ed4dc6b267847526281b1d764f5.png)
n提高灵活性
Ø传递类、方法、参数
Ø服务端利用反射
![](https://oscimg.oschina.net/oscnet/up-bd9b76b87979a58597f67cd6022f3cdc83a.png)
n提高灵活性
Ø不同类的不同方法、不同的参数返回
![](https://oscimg.oschina.net/oscnet/up-f7f77996828e14bbae1de5c5e9f2e6cdcef.png)