RPC-Exercise

一个RPC(Remote Procedure Call)远程过程调用的练习程序。

\---client
        Client.java
        Connector.java
        DynamicProxyFactory.java
        RemoteCall.java
        RPCService.java
        RPCServiceImpl.java
        Server.java

RemoteCall.java

是一个用于传输的对象。它是RPC(远程过程调用)系统中非常关键的一个组件,负责封装远程方法调用的所有必要信息。

RPCService.java

一个接口,定义request方法。

RPCServiceImpl.java

RPCService的实现类,实现request方法。

Client.java

客户端,调用DynamicProxyFactory.getProxy返回动态代理对象,从而进行远程调用。

Connector.java

协助客户端与服务器之间通信的通信工具类,主要包括建立网络连接、数据传输、连接管理。

DynamicProxyFactory.java

用于创建客户端的动态代理对象。主要功能就是隐藏了网络通信细节,将方法调用转换为网络请求。返回进行远程调用的动态代理。

Server.java

服务端,用于接收客户端请求、执行本地服务实现的方法并返回结果。首先监听指定端口,然后注册服务,再启动服务。在服务运行的过程中不断接到连接请求,接到连接请求后便开启新线程处理请求。

总结

实现远程过程调用主要就是使用动态代理对象,让其看起来像切切实实的本地方法,但实际是隐藏了网络通信细节,将方法调用转换为网络请求,从而获取到远程调用的结果。服务端只需要不断地监听端口,处理请求并返回RemoteCall对象即可。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇