基于BIO实现简单的RPC框架

实现RPC远程调用服务核心在于,网络传输和序列化,这里在学习中,简单的实现了一个RPC框架。

首先,需要定义需要提供出去的二方包,包里定义了接口方法,以及需要的参数(类名,方法名,参数,通过反射执行)。

基于BIO实现简单的RPC框架

基于BIO实现简单的RPC框架

服务端:引入该二方包,实现该接口,并发布服务供客户端调用。思路就是,发布的时候,启用sockerserver,根据ObjectInputstream反序列化客户端传过来的参数,得到class,method,params.反射执行方法,最后Objectoutputstream返回结果至客户端.

基于BIO实现简单的RPC框架

基于BIO实现简单的RPC框架

基于BIO实现简单的RPC框架

基于BIO实现简单的RPC框架

基于BIO实现简单的RPC框架

 

客户端:生成代理对象,调用二方包方法,无非就是一个socket连接,封装成二方包提供的参数对象,发送给服务端。

基于BIO实现简单的RPC框架

基于BIO实现简单的RPC框架

基于BIO实现简单的RPC框架

简单测试一下:服务端接收到客户端请求,且客户端收到服务端返回值

基于BIO实现简单的RPC框架

基于BIO实现简单的RPC框架