当然, 问题还是有很多的, 比如不能实现保存对象的修改状态等等.
其实对象可以通过序列化和反序列化来传输, 额, Java中, 不知道PHP有没有这种技术....一个技术基本不会平白无故出现, 都是为了解决某些问题, 那么RPC解决了什么问题呢? 字面含义: 远程函数调用
为什么要进行远程函数调用, 把函数拿过来本地调用不就好了?...当然, 可以服务端将对象在内存中的信息直接序列化发回去, 当客户端下次调用时携带序列化信息, 服务端接收后反序列化还原对象继续操作....过程
个人理解的RPC调用过程:
客户端创建RPC对象
客户端调用方法
RPC解析方法并将对象及参数做序列化
RPC通过网络连接发送方法调用
服务端接收到方法调用, 解析对象及参数反序列化
服务端执行方法并将结果序列化返回...客户端接收到结果并进行解析, 返回给本地调用者
拿到最终结果
RPC适用于内部网络不同项目之间的通信, 如果是对外暴露的, 个人感觉还是通过接口的形式吧.