protobuff 2.5 使用
来源:互联网 发布:时间序列预测算法编程 编辑:程序博客网 时间:2024/05/29 19:38
1、下载 protobuf-2.5.0 jar 及代码生成工具。 在我的资源里已有
2、编写 Respond.proto 文件
package Respond;option java_package = "com.zy.web.service.proto";option java_outer_classname = "Respond";message ReqMessage{required ReqHead reqHead = 1; //信息请求头required ClientInfo clientInfo = 2; //客户信息required OptCode optCode = 3; //操作方式 1登录操作 2客户信息同步操作}message ReqHead{required string channelId = 1; //代理商渠道码required string screKey = 2; //加密串}message ClientInfo{required string accountNm = 1; //客户账户required string accountPwd = 2; //账户密码required string companyNm = 3; //客户公司名称required string mobile = 4; //客户手机号}enum OptCode{LOGIN_CODE = 1; //登录操作SYC_CODE = 2; //信息同步操作}message ReqResp{required ResCode resCd = 1; //接口响应码required string resDesc = 2; //响应描述required string accountNm = 3; //客户账号required string extend = 9; //扩展字段enum ResCode{ LOGIN_SUCCESS = 1; //登录成功 LOGIN_FAIL = 2; //登录失败 SYC_SUCCESS = 3; //信息同步成功 SYC_FAIL = 4; //信息同步失败 OTHER_ERROR = 9; //其他错误}}这是我 们模拟 其他网站登录我们网站创建的 proto 对象关系
这个文档 的编写规则 可以点http://wenku.baidu.com/link?url=GLTQVjjJL6Q4PJVNv3iDP2eDNDsbcVM4W6-s2sX8K06Y07eRuOn1tqVkd_ufcWB2m0cjoRJ4FwmD3wD2o3iGMMqe5UEwKF4YMwEAEoEW3Ua"进入查看
3、编写proto文件后,切换到命令提示行里 D:\技术资料\protobuf-2.5.0>protoc.exe --java_out=./ Respond.proto ;执行生成java文件
4、将生成的java 文件拷贝到你的项目中,并把jar 放到项目中。
5、客户端代码
ReqHead head = ReqHead.newBuilder().setChannelId("wujidao").setScretKey(MD5Util.md5Hex("123456")).build();String pwd = MD5Util.md5Hex("111111");ClientInfo client = ClientInfo.newBuilder().setAccountNm("quaxn02").setAccountPwd(pwd).setCompanyNm("科技").setMobile("18547554241").build(); ReqMessage build = ReqMessage.newBuilder().setReqHead(head).setClientInfo(client).setOptCode(OptCode.LOGIN_CODE).build(); byte[] data = build.toByteArray();try {HttpURLConnection conn = PostData(data);InputStream in = conn.getInputStream();ByteArrayOutputStream bos = null;bos = new ByteArrayOutputStream();byte[] buf = new byte[1024];int r;while ((r = in.read(buf, 0, buf.length)) != -1) {bos.write(buf, 0, r);}in.close();conn.disconnect();} catch (Exception e) {e.printStackTrace();}
ByteArrayOutputStream bos = new ByteArrayOutputStream();InputStream in = req.getInputStream();byte[] buf = new byte[1024];int r;while ((r = in.read(buf, 0, buf.length)) != -1) {bos.write(buf, 0, r);}ReqMessage reqs = ReqMessage.parseFrom(bos.toByteArray());ReqHead head = reqs.getReqHead();String channelId = head.getChannelId();
0 1
- protobuff 2.5 使用
- erlang使用protobuff
- Erlang中使用protobuff
- Google protobuff 安装及使用
- Google ProtoBuff 获取、编译、使用示例
- Unity3D 5.4.0 终于可以使用protobuff 3.0.0了
- protobuff配置
- unity热更方案 java script binding中使用protobuff(一)
- unity热更方案 java script binding中使用protobuff(二)
- unity热更方案 java script binding中使用protobuff(三)
- unity热更方案 java script binding中使用protobuff(四)
- unity热更方案 java script binding中使用protobuff(收尾)
- 使用protobuff 进行网络序列化和反序列传输实例
- protobuff 开发者指南
- google protobuff编译过程
- ProtoBuff语言指南
- java序列化--protobuff
- Protobuff unity3d 工具链
- 基于gdal用c#读取hdf4文件
- 获取验证码倒计时,js代码
- SOJ 1685 Chopsticks
- Tomcat监控—Status页面
- CentOS linux下安装Oracle客户端
- protobuff 2.5 使用
- java猜数字代码
- BootStrap学习笔记-7
- 新建分支,分支推送到远程
- 简述逻辑操作(&,|,^)与条件操作(&&,||)的区别
- 贝塞尔曲线
- 我们为什么使用线程池
- github push 错误The requested URL returned error: 403 Forbidden while ..
- SQL 基础(一)