关于Rpc框架的基本实现

首先服务提供者和消费者间要有一个公共类
public class RpcRequest implements Serializable {
    Class clazz;
    Method method;
    Object object;

    public Class getClazz() {
        return clazz;
    }

    public void setClazz(Class clazz) {
        this.clazz = clazz;
    }

    public Method getMethod() {
        return method;
    }

    public void setMethod(Method method) {
        this.method = method;
    }

    public Object getObject() {
        return object;
    }

    public void setObject(Object object) {
        this.object = object;
    }
}

里面存储了要调用的业务类,要调用的业务方法,以及一个object(用于返回值)

首先客户端创建一个

RpcRequest 对象,然后序列化后通过socket发送给服务器端,服务端将其反序列化后开始通过反射调用方法,并将返回值封装到RpcReequest中,然后写入outputstream中,客户端读取后再次进行反序列化

这里的序列化反序列化使用的是jdk的序列化,也可以自定义比如xml json等

posted @ 2022-06-11 01:18  dronff  阅读(24)  评论(0)    收藏  举报