Java实现一个简单的RPC框架(二) 协议
2016-12-13 22:11
901 查看
参考:
crylearner专栏 一个简单的RPC框架是如何炼成的 :http://blog.csdn.net/crylearner/article/details/46898537上面我们已经实现了简单的本地功能调用,接下来我们来为调用的双方定一个简单的协议,
例如,这里我的调用方发出的RPC请求:包含一个请求id和一个请求command,如id为1,command为‘sayHello’。
被调用者返回的response对应的是command的操作结果。
Java代码实现:
/** * 订协议 * 这里RPC请求:包含一个请求id和一个请求命令,如‘sayHello’ * 返回:对应请求command的操作结果 * @author xchen * */ public class Test2 { public static void main(String[] args) { mServer server = new mServer(); mClient client = new mClient(); client.remote=server; System.out.println(client.sayHello()); } } class mRequest { int id; String command; // String getRequest() // { // return "id: "+id+ " command: "+command; // } } class mResponse { int id; String result; // String getResponse() // { // return "id: "+id+" result: "+result; // } } class mClient { mServer remote; mRequest req = new mRequest(); mResponse rsp = new mResponse(); void setReqId(int id) { req.id=id; } void setReqCommand(String command) { req.command=command; } mClient() { remote = null; } String getRsp(mRequest req) { rsp = remote.procRequest(req); return rsp.result; } String sayHello() { req.id=1; req.command="sayHello"; return getRsp(req); } } // class mServer { // Server解析收到的Request报文(报文由id和command组成) // 将回复报文id设置为收到的报文一致 // 如果command为sayHello,那么范围的报文内容为Hello // 如果为其他命令,我们暂时没有设定,所有输出无法解析提示消息unknown command mResponse procRequest(mRequest req) { //return "Hello World"; mResponse rsp = new mResponse(); rsp.id = req.id; if(req.command == "sayHello") { rsp.result = "Hello"; }else { rsp.result = "unknown command"; } return rap; } } //没有实现带参数的函数处理
运行一下!
在这个约定的协议下,双方可以解析对方的参数,并月
相关文章推荐
- Java实现一个简单的RPC框架(七) 反射机制调用类函数
- Java实现一个简单的RPC框架(六) 注册机制
- Java实现一个简单的RPC框架(五) 基于Socket的传输层实现
- Java实现一个简单的RPC框架(三) 带参数的本地调用
- Java实现一个简单的RPC框架(四) 编码和解码
- Java实现一个简单的RPC框架(一) 本地调用
- 【远程调用框架】如何实现一个简单的RPC框架(二)实现与使用
- java实现简单的RPC框架(源码)
- 分布式学习笔记1通过Java自己实现简单的HTTP RPC框架
- Java回顾:用一个Demo来说明继承抽象类和实现接口的简单框架模型
- 一个简单RPC框架是如何炼成的(III)——实现带参数的RPC调用
- 【远程调用框架】如何实现一个简单的RPC框架(三)优化一:利用动态代理改变用户服务调用方式
- 【远程调用框架】如何实现一个简单的RPC框架(五)优化三:软负载中心设计与实现
- 一个很好的实现http协议的java框架
- 一个简单的rpc框架的实现
- Java远程调用(二)实现一个简单的服务框架
- 一个简单的rpc框架的实现
- Java实现简单的RPC框架
- 一个简单的rpc框架实现(待连载优化)
- Java实现简单的RPC框架