关于Java调用protobuf,传输请求和解析。 [问题点数:22分]

Bbs1
本版专家分:0
结帖率 83.33%
java中使用protobuf
项目中用到<em>protobuf</em>与服务端进行通信,主要就是一个数据<em>传输</em>的作用,用<em>protobuf</em>组织参数相对来说小一点,简洁些。其实<em>protobuf</em>的作用和json一个性质。 项目主要是通过<em>protobuf</em>和服务端进行通信完成业务功能。 用到了<em>protobuf</em>+zmq 步骤: 1.编译<em>protobuf</em>的.proto文件获取<em>java</em>类文件。 编译-------- 生成-------- ...
protobuf 3.5 java使用介绍(一)
<em>protobuf</em> 3.5 <em>java</em>使用介绍(一)网上大多的资料都是老版本的<em>protobuf</em>例子,正好用到了这个技术,我就把<em>protobuf</em> 3.5的使用方法记录一下,重点写了使用方法以及注意事项。proto描述文件的编写 语法 3.5的语法跟以前的<em>protobuf</em>语法有很大的变化,详细的可以参考官方文档, 地址:https://developers.google.com/protocol-buf
在 Java 中使用 protobuf
在 Java 中使用 <em>protobuf</em> 从 https://github.com/google/<em>protobuf</em>/releases 下载编译器,并设置环境变量。 创建<em>java</em>项目添加<em>protobuf</em>-<em>java</em>引用 compile group: 'com.google.<em>protobuf</em>', name: '<em>protobuf</em>-<em>java</em>', version: '3.2.0' 编写.proto文件 synt...
java中Protobuf的使用实例
protocol buffer是google的一个开源项目,它是用于结构化数据串行化的灵活、高效、自动的方法
java开发Google protobuf 3.2.0 jar包 protobuf-java-3.2.0.jar
ProtocolBuffer是用于结构化数据串行化的灵活、高效、自动的方法,有如XML,不过它更小、更快、也更简单。你可以定义自己的数据结构,然后使用代码生成器生成的代码来读写这个数据结构。你甚至可以
Java http请求和调用
<em>关于</em>http get和post请求<em>调用</em>代码以及示例。 参考:http://www.cnblogs.com/zhuawang/archive/2012/12/08/2809380.htmlhttp请求代码import <em>java</em>.io.BufferedReader; import <em>java</em>.io.IOException; import <em>java</em>.io.InputStreamReader; import
用Socket.io传输protobuf
本课程以实际案例为线索,全面解读了WebSocket 架构下使用 HTTP 长连接与服务器实现实时通信及消息推送的功能,通讯协议及通讯载体和逻辑算法。
protobuf跨语言传输出错
我是用python作服务器,发送数据到Android客户端。用的是同一个.proto文件分别用--python跟--<em>java</em>指令生成协议,分别添加到python跟Android。rn但是Android端一直<em>解析</em>错误,错误提示如下: Caused by: com.google.<em>protobuf</em>.InvalidProtocolBufferException: Protocol message contained an invalid tag (zero).rngoogle了半天没找到正确的解决方法,请大神帮忙看看。以下是代码:rn rnrnpython代码:rn entity = SubscribeRespProto_pb2.SubscribeRespProto()rn entity.subReqID = 1rn entity.userName = "H2901"rn entity.productName = "qao"rn entity.address = "guangzhou"rn content = entity.SerializeToString()rn print(str(entity))rn proto.transport.write(content)rn rn rnAndroid端用的是Netty4.1.5,关键代码如下:rn Bootstrap bootstrap = new Bootstrap();rn bootstrap.group(eventLoopGroup)rn .channel(NioSocketChannel.class)rn .option(ChannelOption.SO_KEEPALIVE, true)rn .handler(new ChannelInitializer() rn @Overridern protected void initChannel(SocketChannel socketChannel) throws Exception rn socketChannel.pipeline().addLast(new ProtobufVarint32FrameDecoder())rn .addLast(new ProtobufDecoder(SubscribeReqProto.SubscribeReq.getDefaultInstance()))rn .addLast(new ProtobufVarint32LengthFieldPrepender())rn .addLast(new ProtobufEncoder())rn .addLast(new SubReqClientHandler());rn rn );rn channelFuture = bootstrap.connect(Constants.IP, Constants.PORT).sync();rn rn rn.proto文件如下:rn message SubscribeRespProtorn required int32 subReqID = 1;rn required string userName = 2;rn required string productName = 3;rn required string address = 4;rn rn
protobuf高效传输
<em>protobuf</em>fer cesium大数据量高效<em>传输</em>
socket传输protobuf
本课程以实际案例为线索,全面解读了WebSocket 架构下使用 HTTP 长连接与服务器实现实时通信及消息推送的功能,通讯协议及通讯载体和逻辑算法。
java整合ProtoBuf简便方法
    大家都知道<em>protobuf</em>好用,可是在网上找到的netty整合<em>protobuf</em>的文章都是千篇一律,自己编写proto文件然后使用工具转<em>java</em>文件用起来复杂麻烦,经过不懈努力终于找到了一个简单的方法希望大家喜欢。    转载自:http://blog.csdn.net/zhglance/article/details/56017926    google原生的<em>protobuf</em>fer使用起来...
Protobuf详解(.Java文件)
我们在开发一些RPC<em>调用</em>的程序时,通常会涉及到对象的序列化/反序列化的问题,比如一个“Person”对象从Client端通过TCP方式发送到Server端;因为TCP协议(UDP等这种低级协议)只能发送字节流,所以需要应用层将Java对象序列化成字节流,数据接收端再反序列化成Java对象即可。“序列化”一定会涉及到编码(encoding,format),目前我们可选择的编码方式:     1
Protobuf协议的Java应用例子
Protobuf协议,全称:Protocol Buffer 它跟JSON,XML一样,是一个规定好的数据传播格式。不过,它的序列化和反序列化的效率太变态了…… 来看看几张图你就知道它有多变态。 Protobuf的Java实例一、 安装Protobuf去Protobuf的GitHub下载,解压。如果你是Windows环境,则还要下载多一个东西。<em>protobuf</em>-2.5.0-windows.zi
protobufjava, Android下的使用总结
<em>protobuf</em>(Google Protocol Buffers)是Google提供一个具有高效的协议数据交换格式工具库(类似Json),但相比于Json,Protobuf有更高的转化效率,时间效率和空间效率都是JSON的3-5倍。后面将会有简单的demo对于这两种格式的数据转化效率的对比。但这个库目前使用还不是太流行,据说谷歌内部很多产品都有使用。 Protobuf的优点 1,性能好,效...
protobuf文件定义及转化为java对象
定义<em>protobuf</em>文件(包含enum,message,required,optional,repeated, 结构体定义中引用另一个结构体), 生成<em>java</em>文件,能够构建<em>java</em>对象,并转化为字节b
使用java原生url连接传输protobuf
<em>protobuf</em>已经出来好多年了,原谅我最近才了解到google这个高性能的用于<em>传输</em>的格式。   从各方面来看,它无论从序列化的性能还是从序列化的压缩比都是优于当前各种<em>传输</em>格式的。如json、xml、hessian,<em>java</em>原生的Serializable。具体对比结果参见:http://agapple.iteye.com/blog/859052   网上也看了些资料,并有所了解,看了下...
post请求和json解析
package com.xueshen.Analytical; import <em>java</em>.net.URI; import <em>java</em>.util.ArrayList; import <em>java</em>.util.List; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpPost; import or
HttpPost请求和JSON解析
简单的HttpPost请<em>求和</em>JSON<em>解析</em> 【包含完整的注释,适合初学者学习】
http请求和json解析
xml文件     android:layout_width="match_parent"     android:layout_height="match_parent"     android:orientation="vertical" >             android:id="@+id/textview"         android:layout_w
Android soap请求和解析
1,soap请求try { LogUtil.d(TAG, "url:"+SDKConfig.BaseUrl+",nameSpace:"+nameSpace+",methodName:"+methodName+",params:"+params.toString()); // 第一:实例化S
java protobuf使用
protoc.exe --<em>java</em>_out=./ msg.proto  vi msg.proto option <em>java</em>_package = "com.<em>protobuf</em>test.<em>protobuf</em>"; option <em>java</em>_outer_classname = "PersonProbuf"; message Person {    required string n
protobuf java代码生成及实例
1.下载工具    protoc-2.4.1-win32.zip    <em>protobuf</em>-<em>java</em>-2.4.1.jar  (注意两者的版本要相同,下载地址https://github.com/protocolbuffers/<em>protobuf</em>) 2.proto文件的内容 syntax = &quot;proto2&quot;; option <em>java</em>_package = &quot;com.netty.protobu...
Protobuf 协议的Java应用sample
Protobuf协议,全称:Protocol Buffer 它跟JSON,XML一样,是一个规定好的数据传播格式。不过,它的序列化和反序列化的效率太变态了…… 来看看几张图你就知道它有多变态。 Protobuf的Java实例 一、 安装Protobuf 去Protobuf的GitHub下载,解压。 如果你是Windows环境,则还要下载多一个东西。protob
protobuf java代码生成
<em>protobuf</em> <em>java</em>代码生成,<em>protobuf</em> <em>java</em>代码生成,<em>protobuf</em> <em>java</em>代码生成,<em>protobuf</em> <em>java</em>代码生成
Java中的Protobuf使用例子(转)
<em>protobuf</em>接口文件的生成这里就不举例子,只举一下在Java中怎么使用。1). 定义"消息"的结构,即书写接口定义文件(.proto文件)。本例中,消息包含了"手机信息"。文件名 mobile.proto文件内容如下:message MobilePhone{                    required string               brand = 1 ;        
传输格式Protobuf之Protogen插件使用
Protobuf格式参考:http://www.cnblogs.com/stephen-liu74/archive/2013/01/02/2841485.html插件使用:Protogen 1,建立一个 bat2, .bat 中 输入protogen-i:test.proto   -o:test.cs protogen -i:Test1.proto -i:Test2.proto -i:Test3....
六丶 Protobuf联网传输
`````````````````````````````````<em>protobuf</em>`````````````````````````````package cs; message CSLoginInfo { required string UserName = 1;//账号 required string Password = 2;//密码 } //发送登录请求 message CSLog...
外围设备怎么进行DMA请求和传输??
就是有一块采集卡,数据已经到了FIFO,通过ISA接口连了起来。
protobuf解析(一)
<em>protobuf</em>是一种新的消息或数据结构体的定义模式。我们来看下基本写法: 1. 基本数据类型:包括double、float、bool、string、bytes、int32、int64、uint32、uint64、sint32、sint64、fixed32、fixed64、sfixed32、sfixed64; 2. 引用其他message类型 3. 枚举类型:对于枚举类型,<em>protobuf</em>有
protobuf解析xls工具
这是一个利用<em>protobuf</em><em>解析</em>我们的xls文件,生成unity中使用的cs文件的工具,要配置python,<em>protobuf</em>,<em>protobuf</em>-net一起使用
java protobuf 服务端接收任意protubuf对象
-
java如何解析application/x-protobuf
各位大神,现在遇到一个问题有一个请求的Content-Type="application/x-<em>protobuf</em>",请问后台<em>java</em>代码如何<em>解析</em>? 在线等,急!!!
Protobuf基础之proto文件的编译和使用
1、创建测试用的proto源文件,如:StudentInfo.proto,内容如下   message StudentInfo{ required int32 id = 1; required string name = 2; optional string email = 3; }   2、cmd命令行进入<em>protobuf</em>源代码文件夹下的src目...
ProtoBuf 的java使用
碰巧用到Proto,算是笔记吧算是笔记吧, windows : 1,两个文件:proto.exe,  <em>protobuf</em>-<em>java</em>-2.4.1.jar 2,建立一个工程TestPb,在下面建立一个proto文件件,用来存放【。proto】文件 3,将proto,exe放在工程下, 4,建立一个msg.proto文件: option <em>java</em>_package = "com.protob
Protobuf在java项目中的使用
Protobuf在<em>java</em>项目中的使用 <em>protobuf</em>的介绍和安装这里就不多说了,不太清楚的可以参考我的上一篇博文()。这里我们就基于<em>java</em>的项目,引入并使用<em>protobuf</em>来处理数据。 资源以及环境介绍:          1JDK  1.7.0_67          2Eclipse  jee-indigo          3<em>protobuf</em>:  proto.exe 和pro
node动态解析protobuf
本课程以实际案例为线索,全面解读了WebSocket 架构下使用 HTTP 长连接与服务器实现实时通信及消息推送的功能,通讯协议及通讯载体和逻辑算法。
【Loadrunner】 java vuser 采用cmd方式调用python文件,执行zeromq请求和数据protobuf反序列化
        背景:由于第一次接触zeromq,对其了解甚少,于是度娘对其原理了解一番后,就开始了接下来实践“坑”中,首先在LR中,对于用socekt、<em>java</em>、c那种方式来实现,通过抓包对比,以及socekt和c语言可实现,但复杂度有点”呵呵“,而用<em>java</em>开发的zeromq请求脚本(见:实现过程一),实现挺简单,但是在回放脚本时,遇见了我一个”大坑“,由于开发的隐瞒,导致回放的结果总是乱码,...
protobuf解析(二)
接上节 <em>protobuf</em>到底有多节省字段,我们来比较下 对于 message helloworld { int32 id = 1; string name = 2; } <em>protobuf</em>表示 id = 101, name = hello只需要这么多字段 08 65 12 06 68 65 6C 6C 6F 77 65即101, [68 65 6C 6C 6F]表示h
protobuf源码解析
-
js解析protobuf数据
function PieParseProtoBuffer(){ this._state = { ready:false, message:null }; loadProtoFile(this._state); function loadProtoFile(state){ return new Promise((reso...
protobuf生成java工具类
由于本人最近在学习Netty,里面涉及了<em>protobuf</em>编译生成<em>java</em>文件的过程,觉得敲命令行比较麻烦,故写了个.prorto文件自动生成<em>java</em>文件的工具类,遇到了不少坑,与大家分享一下,望多多指正。 转载请注明出处:https://blog.csdn.net/weixin_40929150/article/details/88775559 首先 先配置protobu...
protobuf在Android下的使用
<em>protobuf</em>在Android下的使用1. 介绍2. 配置环境1. 下载 “protoc”、“protoc-gen-<em>java</em>lite”:[Protobuf-maven]、[Protobuf-github]2. 编写xxx.proto文件:3. 编译前准备:4. 编译5. 使用 1. 介绍 如果想在Android环境下,使用<em>protobuf</em>数据结构,可以直接使用<em>protobuf</em> 的Java版本,也...
如何将Java中的byte转为protobuf中bytes
Java中的byte转为<em>protobuf</em>中bytes   在<em>protobuf</em>中如果定义了bytes类型的消息<em>传输</em>对象 syntax = &amp;amp;quot;proto3&amp;amp;quot;; option <em>java</em>_package=&amp;amp;quot;com.test.<em>protobuf</em>&amp;amp;quot;; option <em>java</em>_outer_classname = &amp;amp;quot;NettyMessage&amp;amp;quot;; mess
Protobuf与JAVA
    我们在开发一些RPC<em>调用</em>的程序时,通常会涉及到对象的序列化/反序列化的问题,比如一个“Person”对象从Client端通过TCP方式发送到Server端;因为TCP协议(UDP等这种低级协议)只能发送字节流,所以需要应用层将Java对象序列化成字节流,数据接收端再反序列化成Java对象即可。“序列化”一定会涉及到编码(encoding,format),目前我们可选择的编码方式:  ...
关于在Java中如何更简单的使用google protobuf
<em>protobuf</em>中的.proto文件能很好的统筹交互双方的协议,但为开发带来了一定阻碍。 在Java里,<em>protobuf</em>使用了immutable(不可变)机制来控制数据的生成源。具体的说,在Java里想要通过<em>protobuf</em>传出一个对象,就要先构造一个该对象的协议文件(.proto文件)的builder对象,通过往这个对象set数据以后,并且<em>调用</em>对象的build方法(由该对象生成一个immutab...
VC2012解析Protobuf文件
<em>解析</em>程序中包含了Protobuf源文件文件和示例程序。程序未做任何处理,方便大家直接使用。 另有说明文档,方便新手使用。
Protobuf解析(三)
接上节说的grpc <em>关于</em><em>protobuf</em>需要安装protoc并get几个go包 go get -u github.com/golang/<em>protobuf</em>/proto go get -u github.com/golang/<em>protobuf</em>/protoc-gen-go go get google.golang.org/grpc 我们用grpc-go的例子来跑一跑 proto文件: sy
js解析protobuf
js如何<em>解析</em><em>protobuf</em>。。。rn1,服务端把数据经过<em>protobuf</em>,在经过64位编码发送到我客户端。rn2,客户端用js<em>解析</em>。rnrnrn(1),我在网上找到例子。把服务端给我的64位编码<em>解析</em>了。rn(2),<em>解析</em>完以后,我要把它经过<em>protobuf</em><em>解析</em>。(这里不会,我用的谷歌很早提供的<em>protobuf</em>-js也不行(它的js本身就有语法错误)。) http://blog.csdn.net/xnn2s/article/details/8580917博客说能够解决,但是我看到。(js plugin须要我们自己编译,步骤如下:1. 先下载整个<em>protobuf</em>,编译出protoc和各种lib库。)我遇到问题,1,它这个没法下载。2,我也不知道怎么编译。rn不按照这个思路也行,只要js能<em>解析</em><em>protobuf</em>就行。。。rnrn(1)的例子在这儿rnthis.decode = function (input) rn var output = ""; rn var chr1, chr2, chr3; rn var enc1, enc2, enc3, enc4; rn var i = 0; rn input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); rn while (i < input.length) rn enc1 = _keyStr.indexOf(input.charAt(i++)); rn enc2 = _keyStr.indexOf(input.charAt(i++)); rn enc3 = _keyStr.indexOf(input.charAt(i++)); rn enc4 = _keyStr.indexOf(input.charAt(i++)); rn chr1 = (enc1 << 2) | (enc2 >> 4); rn chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); rn chr3 = ((enc3 & 3) << 6) | enc4; rn output = output + String.fromCharCode(chr1); rn if (enc3 != 64) rn output = output + String.fromCharCode(chr2); rn rn if (enc4 != 64) rn output = output + String.fromCharCode(chr3); rn rn rn output = _utf8_decode(output); rn return output; rn
Java protobuf框架使用向导ProtoBuf
Java <em>protobuf</em>框架使用向导ProtoBuf,全称是Protocol Buffers, 它是谷歌内部用的一种高效的、可扩展的对结构化数据进行编码的格式规范。谷歌自己内部很多程序之间的通信协议都用了ProtoBuf
protobuf解析属性
c# <em>protobuf</em><em>解析</em>属性
protobuf java 安装及使用
安装 https://blog.csdn.net/warrially/article/details/52683611 下载 <em>protobuf</em>-<em>java</em>-3.0.0.tar.gz 解压 编译安装 ./configure --prefix=/home/<em>protobuf</em> make sudo make install 使用 先在任意文件夹下编写一个xxx.proto文件,如下: protoTest.pr...
c++ 和 java 利用protobuf 通讯
 <em>java</em>端的具体步骤如下:   1、首先下载 下载<em>protobuf</em> 编译工具   http://code.google.com/p/<em>protobuf</em>/downloads/detail?name=<em>protobuf</em>-2.4.1.zip&amp;amp;can=2&amp;amp;q= 2、书写<em>protobuf</em>文件 package tutorial; // 商城购买 U_C_SHOP_BUY = 0x...
protobuf的基本使用(读取和写入)——java
本文主要参考:<em>protobuf</em>官方文档。好,下面上货。我们这里说的是如何使用<em>protobuf</em>。首先<em>protobuf</em>提供了一个约定——.proto文件。然后约定好的双方都通过这种格式进行对数据进行处理即可。下面是使用的一个例子:1、添加maven依赖&amp;lt;!-- https://mvnrepository.com/artifact/com.google.<em>protobuf</em>/<em>protobuf</em>-<em>java</em>...
Java使用Protocol Buffers入门四步骤
Protocol Buffers(简称<em>protobuf</em>)是谷歌的一项技术,用于将结构化的数据序列化、反序列化,经常用于网络<em>传输</em>。 这货实际上类似于XML生成和<em>解析</em>,但<em>protobuf</em>的效率高于XML,不过<em>protobuf</em>生成的是字节码,可读性比XML差。类似的还有json、Java的Serializable等。 <em>protobuf</em>支持各种语言。本文以Java为例,简单介绍<em>protobuf</em>如何使用。其他语言使用方法类似。
java中使用protobuf序列化(反序列化)
调研环境:windows1.http://code.google.com/p/<em>protobuf</em>/downloads/list ,选择其中的win版本下载2.下载一个<em>protobuf</em>-<em>java</em>-2.4.1.jar文件(注意,要与你刚才下的proto.exe版本相同,否则可能出现编译
node静态解析protobuf
本课程以实际案例为线索,全面解读了WebSocket 架构下使用 HTTP 长连接与服务器实现实时通信及消息推送的功能,通讯协议及通讯载体和逻辑算法。
Netty protobuf解析2-官方方法解析
关键代码如下 p.addLast(new ProtobufVarint32FrameDecoder());// 解码1. 根据byte 的头长度 来 分割 p.addLast(new ProtobufDecoder( Msg.Person.getDefaultInstance())); //解码2。 byte 转化为 实体类
狼王-HttpPost请求和JSON解析
HttpPost请<em>求和</em>JSON<em>解析</em> 个人知识总结
http请求和json解析的截取字符串
第一个 public class MainJsonActivity extends FragmentActivity{ private TextView  textView = null; private Object json; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(s
python web 网页请求和解析
涉及  1、urllib 中的 request 2、requests 3、lxml 中的 etree 4、bs4 中的 BeautifulSoup     一、定制请求头 1、urllib 中的 request   # -*- coding=utf-8 -*- from urllib import request url = 'http://example.webscra...
java解析 protobuf 格式数据
-
用Maven实现一个protobuf的Java例子
最近需要用到<em>protobuf</em>协议,将json转化为<em>protobuf</em>,而事实上对<em>protobuf</em>完全不懂,所以参考了多篇文章先实际搭建一个例子看看,记录下过程。 1.首先去github上下载prtobuf-master.zip http://blog.csdn.net/antgan/article/details/52103966 2 .之后下载这么一个东西
protobuf3.1.0 生成java文件------多协议传输类型说明
不了解<em>protobuf</em>的先去了解下项目需要用<em>protobuf</em>进行数据<em>传输</em>所以最近找了找资料,下面给大家一些我的经验首先去下载<em>protobuf</em>3.1.0的压缩包 网址:https://github.com/google/<em>protobuf</em>/releases?after=v3.4.0rc1(github下载网址)下拉找到3.1.0的压缩包解压到任意盘的根目录,我的在C盘放着,然后配置环境变量右击此电脑点...
protobuf的Java版安装方式
1,安装maven a.下载apache-maven-3.2.5,链接:http://mirrors.hust.edu.cn/apache//maven/maven-3/3.2.5/binaries/ b.解压到指定目录:(我使用的目录为)/Users/zhoufei/Documents/Tools/apache-maven-3.2.5 c.打开终端,配置环境变量: vi ~/.bash_prof...
Protobuf生成java
Protobuf协议,<em>java</em>开发相关资源.包含jar、exe、使用帮助等.
Http请求和Json解析结合实例
Http请<em>求和</em>Json<em>解析</em>结合实例—-天气预报项目 首先创建一个WeatherActivity,修改布局文件,添加控件,设置id xml文件 activity_weather &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt; &amp;lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk...
安卓 http Get请求和Json 解析
import android.util.Log; import org.json.JSONObject; import <em>java</em>.io.BufferedReader; import <em>java</em>.io.InputStream; import <em>java</em>.io.InputStreamReader; import <em>java</em>.net.HttpURLConnection; import <em>java</em>.net.U...
Java raw 请求和获取
raw方式使用的是纯字符串的数据上传方式; 在postman中,raw格式如下: 请求类型为raw,请求格式为json; <em>java</em>发送raw请求代码如下: public static JSONObject deviceRequest() { JSONObject result = null; try { String url = &amp;quot;url 地址&amp;quot;; ...
protobuf流的反解析Message
0x01 <em>protobuf</em>的基本概念 <em>protobuf</em>通过定义".proto"文件来描述数据的结构。.proto文件中用"Message"所表示所需要序列化的数据的格式。Message由field组成,Field类似JAVA或者C++中成员变量,通常一个field的定义包含修饰符、类型、名称和ID。下面看一个简单的.proto文件的例子: package testInfo;
protobuf这种google的解析技术
[quote] 数据的传递 序列化 反序列化 https://www.ibm.com/developerworks/cn/linux/l-cn-gpb/index.html [/quote]
protoc 命令参数
protoc 命令的获得 源码在 https://github.com/google/<em>protobuf</em> , 如果不想自己编译获得最新版本,则可以下载官方编译好的各个平台的,下载地址:https://github.com/google/<em>protobuf</em>/releases ,注意不是带语言后缀的文件,那是源码,如下图: 下载后的解压缩包含的内容如下(以mac下为例) 我们通过 whi
protoc 生成Java文件
需要从一份proto文件生成一份Java文件。 proto内容如下: syntax = "proto2"; package netty; option <em>java</em>_package = "com.backend.testNetty"; option <em>java</em>_outer_classname = "SubscribeReqProto"; message SubscribeReq{ requir...
protocol .proto文件转.java文件
1.创建maven项目         创建proto文件夹         详情请百度 2.创建pom.xml         写法请百度 3.创建.proto文件         写法看官方文档,或者笔记的:Protobuf在Java项目中的使用 以上步骤或者可以:     下载fabric-s
用proto命令生成java文件
有个问题需要注意下,proroc的版本一定要和你本地使用的<em>protobuf</em>-<em>java</em>-2.3.0版本一致,否则会出现生成的<em>java</em>代码 报错的情况。特别是修改之前的代码的时候。 1.下载: https://code.google.com/p/<em>protobuf</em>/downloads/list 下载 protoc-2.5.0-win32,然后解压,配置protoc环境变量 2.cmd
protoc执行命令
 protoc.exe news.proto --<em>java</em>_out=../src/main/<em>java</em>/ 
关于求和资源定位
摘要: 请求的发出 1.action 2.地址栏 访问jsp资源总体来说有三种方法 1.地址栏 。(可能拦截可能不拦截) 2.request.getRequestDispatcher(不拦截) 3.controller中的return(不拦截) 这三种方法,访问时的拦截情况和返回情况一直没搞清楚,在这里研究一下 文章目录实验1:说明:结果:实验2:说明:结果:实验3:说明:结果实验4:说明:结果:...
关于服务器的请求和响应
我在客户端给服务端发了一条请求,要求服务端根据不同情况要给客户端发送不同的响应结果,需要通过什么函数实现?
关于时间戳请求和回答
在ICMP报文中,时间戳请<em>求和</em>回答中有发起时间戳、接收时间戳和发送时间戳三个字段,发起时间戳这个字段应该填什么值,怎样得到这个值?接收时间戳这个字段的值怎样转化为一般的时间格式呢?
使用protobuf实现任意文件的传输
可以使用proto中的bytes数据类型,将一个文件写入到bytes字段,然后<em>传输</em>,收到数据后,重新抽取bytes,组装成文件 proto文件 syntax = &quot;proto3&quot;; package gs.gmapping; import &quot;sensor.proto&quot;; service Mapping { rpc GetMappingResultFromFramePackageT...
Unity中使用Protobuf 来传输消息
好久没有更新博客了哦!难得有空出来写写博客,现在好多unity项目中都使用<em>protobuf</em>来<em>传输</em>我们的网络消息了,为什么呢?之前使用的xml,json不是挺好的吗?为什么要用这个东东呢?这又是什么东西? 首先我们来了解一下<em>protobuf</em>这个东西吧! 要知道Protobuf是google的一个开源项目 那么他能用来干什么呢? 1.数据存储(序列化和反序列化),这个功能类似xml和json等...
protoc buf(java版)安装和学习和一些过程中的错误
  我是配合这个学习的,记录了安装和学习过程中出现的bug:https://blog.csdn.net/briblue/article/details/53187780 安装protoc 1、先下载两个文件(不管系统是多少位,只管是不是windows或者mac等等):protoc-3.1.0-win32.zip   <em>protobuf</em>-<em>java</em>-3.1.0.zip 这个添加到path是系统变量...
Protobuf3 系列一 第一个Java demo
概念 Protocol buffers are a flexible, efficient, automated mechanism for serializing structured data – think XML, but smaller, faster, and simpler 简单的说, Protobuf3是类似json,xml的数据交换协议,但是它比它们<em>传输</em>的数据更小,传
初识protobufjava
简介 maven protoc-320-win32下载地址 环境变量配置 验证 eclipse 插件下载 测试 proto文件 生成Java对象命令 测试代码 输出 参考文章 简介<em>protobuf</em> 是google 开发一个款序列化<em>传输</em>协议,它独立于语言,独立于平台;目前它提供了多种语言的实现:<em>java</em>、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二
Protobuf 2.5.0 在Java中的简单使用
Protobuf在Java中的简单使用,包括一个使用步骤文档、protoc.exe编译程序、<em>protobuf</em>2.5.0.jar包,和一个Java测试程序: http://blog.csdn.net/y
google protobuf
Maven <em>protobuf</em> pom.xml google<em>protobuf</em>
关于对接口的解析调用
首先我给出接口的要求:rn 1. 计算列车实时位置比例以及前后占比例rn 1) 通过车次<em>调用</em>接口查询出里程标、线路和行别,rnrn 通过线路筛选此车次在此线路上的车站以及车站对应的数据rnrn 2) 通过筛选后的车站及所对应的数据进行判断此车次在哪两站之间rnrn 计算车站与车站之间的比例rn 计算正在行驶中的车在两车站之间的比例rnrn 下面是别人写的一段代码我半路接手的,不知道再往下怎么写了。rn rn Runnable mileageRunnable = new Runnable()rn rn @Overridern public void run()rn rn // run()在新的线程中运行rn tryrn rn // 通过车次<em>调用</em>服务器方法查询列车的里程标rn String result = getTrainPosition(trainidString);rnrn String[] data = result.split("\\|"); // 通过String数组的data对象接受resultrn String linename = data[1].split(",")[1]; // 线路rn String mileage = data[2].split(",")[1];// 里程标rn String dir = data[3].split(",")[1]; // 行别 S 上行 X 下行rnrn // 通过服务器查出的结果<em>调用</em>本地数据库方法 通过行别和线路获取数据rn List list = service.getMileage(dir, linename);rnrn // 此车次的信息rn List> oneRowData = (List>) mapResult.get("list");// 车次的信息rnrn // 判断此车次是否为动车rn if (trainidString.startsWith("D") || trainidString.startsWith("G") || trainidString.startsWith("C"))rn rn // 循环判断本地线路和服务器线路相等的rn for (int i = 0; i < list.size();)rn rn Bundle bundle = list.get(i);rnrn // 循环判断 本地车站 和 线路表车站 相等的数据rn for (int k = 0; k < oneRowData.size(); k++)rn rn // 判断查询本地数据的车站和次车次的车站是否相等rn if ((bundle.getString("station")).equals(oneRowData.get(k).get("station")))rn rn i++;rn break;rn rn elsern rn if (k == (oneRowData.size() - 1))rn rn list.remove(i);rnrn Log.w("mcy", "######### 被移除的是" + bundle.getString("station"));rn rn elsern rn continue;rn rn rn rn rnrn Log.w("mcy", "######### list 的长度" + list.size());rnrn // 判断此车次的行别是上行还是下行rn if ("S".equals(dir))rn rn // 循环判断本地线路和服务器线路相等的rn for (Integer j = 0; j < list.size(); j++)rn rn Bundle bundle = list.get(j);rnrn // 比较本地里程表的里程是否存在和此车次所在里程表里程相等的车站rn if (Double.parseDouble(bundle.getString("mileage")) == Double.parseDouble(mileage))rn rn String mileage_station = bundle.getString("station");rn break;rn rn // 判断此车次的位置是否存在于两站之间rn else if (Double.parseDouble(list.get(j).getString("mileage")) < 238.608 && Double.parseDouble(list.get(j + 1).getString("mileage")) > 238.603)rn rn // 判断是否为存在于同个站的两条数据(出站 和 近站)rn if (j != list.size() - 1 && list.get(j).getString("station") == list.get(j + 1).getString("station"))rn rn String mileage_station = list.get(j).getString("station");rn break;rn rn elsern rn String mileage_station_up = list.get(j).getString("station");rn String mileage_station_down = list.get(j + 1).getString("station");rn rn rn rn rn elsern rn // 循环判断本地线路和服务器线路相等的rn for (Integer m = 0; m < list.size(); m++)rn rn Bundle bundle = list.get(m);rnrn // 比较本地里程表的里程是否存在和此车次所在里程表里程相等的车站rn if (Double.parseDouble(bundle.getString("mileage")) == Double.parseDouble(mileage))rn rn String mileage_station = bundle.getString("station");rn break;rn rn // 判断是否只存在一条数据rn if (list.size() != 0)rn rn // 判断此车次的位置是否存在两站之间rn if (m != list.size() - 1 && Double.parseDouble(list.get(m).getString("mileage")) > 238.608 && Double.parseDouble(list.get(m + 1).getString("mileage")) < 238.603)rn rn // 判断是否为存在于同个站的两条数据(出站 和 近站)rn if (list.get(m).getString("station") == list.get(m + 1).getString("station"))rn rn String mileage_station = list.get(m).getString("station");rn break;rn rn elsern rn String mileage_station_up = list.get(m).getString("station");rn String mileage_station_down = list.get(m + 1).getString("station");rn rn rn rn rn rn rn rn catch (Exception e)rn rn mileageHandler.obtainMessage(MSG_FAILURE).sendToTarget();rn e.printStackTrace();rn return;rn rnrn mileageHandler.obtainMessage(MSG_SUCCESS, allMileage).sendToTarget();rn rn ;rnrn @SuppressLint("HandlerLeak")rn private Handler mileageHandler = new Handler()rn rn public void handleMessage(Message msg)rn rn // 此方法在ui线程运行rn switch (msg.what)rn rn case MSG_SUCCESS:rnrn break;rnrn case MSG_FAILURE:rn Toast.makeText(getApplication(), "失败!!!", Toast.LENGTH_SHORT).show();rn break;rn rn rn ;rnrn /**rn * WebService 通过车次查询对应的里程标、线路和行别rn */rn public String getTrainPosition(String operid)rn rn // 命名空间rn String nameSpace = "http://222.88.17.82:8888/dmsApp/services/operationService";rnrn // <em>调用</em>的方法名称rn String methodName = "getTrainPosition";rnrn // EndPointrn String endPoint = "http://222.88.17.82:8888/dmsApp/services/operationService?wsdl";rn // String endPoint = "http://192.168.1.106:8080/MY_WS/UserInfoPort?wsdl";rnrn // SOAP Actionrn String soapAction = null;rnrn // 是否是.NET编写的rn boolean dotNetOrNot = false;rnrn // 前面是参数名, 后面是实参rn Object[] paras = "operid", operid ;rnrn // 获取返回的数据rn object = new WebServiceUtil().getRemoteInfo(nameSpace, methodName, endPoint, soapAction, dotNetOrNot, paras);rnrn String result = "";rnrn if (null == object)// 判断是否超时rn rn return result;rn rnrn // 获取返回的结果rn result = object.getProperty(0).toString();rnrn return result;rn rnrnrnrn rnrn rn
java调用HTTP接口(Get请求和Post请求)
前提: 一个Http接口:http://172.83.38.209:7001/NSRTRegistration/test/add.do?id=8888888&amp;amp;name=99999999 id和name是传入的参数 浏览器访问接口: <em>java</em>代码<em>调用</em>Http接口代码如下(代码中注释分为两部分:处理get请<em>求和</em>post请求): package com.inspur.OKHTTP...
java通过HTTP调用接口(Get请求和Post请求)
<em>java</em><em>调用</em>HTTP接口(Get请<em>求和</em>Post请求)
求和 关于求和问题!
把数据(如名称,型号,类型,数量)添加到listview控件中,然后使所有产品的数量相加得出总数,请问下 怎么样提取其中的数量再使其相加阿?
Protobuf(Google Protocol Buffer)编码学习笔记
在之前学习RabbitMQ的过程中,涉及到了Protobuf协议,下面对之前学习时做的笔记进行整理,作为今后参考的依据。 1.协议介绍 Google Protocol Buffer是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:<em>java</em>、c#、c++、go、python、js等,每一种实现都包含了相应语言的编译器以及库文件。由于它是一...
protoc buffer (java)详解及应用
一、为什么使用protoc buffer? protoc buffer的作用是序列化数据和结构化数据,但对于这两点我们经常使用的有:<em>java</em>提供的序列化接口和xml。首先说下这两个的缺点,<em>java</em>序列化接口有很多已知的问题,而且在跨平台的问题上做的不是很好,比如c++或着python。xml结构化数据对文本解释的很好,但是结构体比较臃肿,小数据是没有问题的,但针对一些比较大和负责的数据<em>传输</em>效率就有
protoc.exe和protobuf-java-2.5.0.jar集合
protoc.exe和<em>protobuf</em>-<em>java</em>-2.5.0.jar集合 可以将proto文件直接转换成<em>java</em>文件
java服务端,C++客户端,基于protobuf的socket通信
<em>java</em>服务端采用netty+<em>protobuf</em>,C++客户端采用socket+<em>protobuf</em>,实现TCP通讯
使用protobuf和socket实现服务器间消息的传递
Protobuf产生于Google,是一种序列化和反序列化协议,具有空间开销小、<em>解析</em>速度快、兼容性好等优点,非常适合于对性能要求高的RPC(Remote Procedure Call)<em>调用</em>。网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个Socket。本文旨在实现通过将消息使用<em>protobuf</em>序列化后经过Socket发送到对端,对端使用<em>protobuf</em>反序列化得到原始的
LeetCode67:二进制求和解析
给定两个二进制字符串,返回他们的和(用二进制表示)。 输入为非空字符串且只包含数字 1 和 0。 示例1: 输入: a = &quot;11&quot;, b = &quot;1&quot; 输出: &quot;100&quot; 示例2: 输入: a = &quot;1010&quot;, b = &quot;1011&quot; 输出: &quot;10101&quot; 这个题的第一个想法就是把字符串直接转换成二进制数然后相加,之后再转换成字符串。但是这样也就没什么算法的意思了,C++中也没有这样
关于Java简单序列求和
import <em>java</em>.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); long n = sc.nextLong(); n=n*1+n*(n-1)/2; System.out.println(n); } }
java关于求和的问题
rn 有三个类,学校,学生,一个科目的成绩单rnrn 一个学校有多个学生,一个学生有多个科目的成绩单,就是学校对学生是1对多的关系,学生对成绩单也是一对多的关系,rn 现在想要计算出这个学校所有学生所有科目的平均成绩,和每个学生的平均成绩。rnrn <em>java</em>中怎么实现这些类呢?
protobuf java 工程示例
<em>protobuf</em>工程示例,<em>protobuf</em>读写消息示例
javaSE基础学习笔记(2)下载
guanyujavadejichuxuexibiji 相关下载链接:[url=//download.csdn.net/download/snandjc/2537947?utm_source=bbsseo]//download.csdn.net/download/snandjc/2537947?utm_source=bbsseo[/url]
CAN通信(CAN两个节点收发)下载
CAN两个节点收发(C51+SJA1000) CAN两个节点收发(C51+SJA1000) 相关下载链接:[url=//download.csdn.net/download/sm00100/3409294?utm_source=bbsseo]//download.csdn.net/download/sm00100/3409294?utm_source=bbsseo[/url]
zigbee技术介绍及应用方案下载
介绍了zigbee技术介绍及应用方案,供设计参考. 相关下载链接:[url=//download.csdn.net/download/sdrcust/3502969?utm_source=bbsseo]//download.csdn.net/download/sdrcust/3502969?utm_source=bbsseo[/url]
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo
我们是很有底线的