(二)Protobuf的C#使用
【转】http://blog.csdn.net/shantsc/article/details/50729402
protobuf c#版本分成两个版本,一个是protobuf-net,另一个是protobuf-csharp-sport
一、protobuf-net版
步骤 1.编辑111.proto文件 遵循谷歌的格式 message一个类的名字 required 必须要赋值的字段
message Person
{
required string name=;
required int32 id=;
optional string email=; enum PhoneType
{
MONILE=;
HOME=;
WORK=;
}
}
步骤 2.编译protobuf-net 并且在ProtoGen中引用 之后再编译Protogen.exe
步骤 3.在dos下cd到protogen.exe 然后 -i:111.proto -o:111.cs -ns:MyProto
下边的是另一个版本的
二、protobuf-csharp-sport版
具体步骤如下:
1.先从http://code.google.com/p/protobuf-csharp-port/网站下载protobuf-csharp-port包,我下载的版本是:protobuf-csharp-port-2.4.1.473-release-binaries。
2.将上述包解压缩之后,取出其中的ProtoGen.exe.config,protoc.exe,ProtoGen.exe及Google.ProtocolBuffers.dll文件放到D:\protoc文件夹里
(D:\protoc文件夹是我自建的)。
3.打开命令提示符(我的是windows7系统),先用doc命令中的cd C:\命令转到C盘,然后输入D:回车,转到D盘,然后cd protoc转到D:\protoc文件夹下。(非常细致哈,甚至有点啰嗦哈,不过我每次用都得google一下的呢~)
4.将需要转成c#的protobuf文件也添加到D:\protoc文件夹里,比如我们要转AddressBook.proto文件。
5.在命令提示符内输入:
protoc --descriptor_set_out=AddressBook.protobin --include_imports AddressBook.proto
(上述命令之后,你会发现D protoc文件夹内多了一个AddressBook.protobin文件)
接下来:
protogen AddressBook.protobin回车
上述命令之后,D盘protoc文件夹里多了个AddressBook.cs文件,是的,这就是万众瞩目的终极目标文件。
大功告成,呵呵,很简单的吧。
6.将cs文件导入项目中就可以使用了~
(二)Protobuf的C#使用的更多相关文章
- Google Protobuf 使用 Java 版
一 . Protobuf 的入门 Protobuf 是一个灵活,高效,结构化的数据序列化框架, 相比于 XML 等传统的序列化工具,它更小,更快,更灵活,更简单. Protobuf 支持数据结构化一次 ...
- netty + Protobuf (整合二)
[正文]Protobuf 消息设计 疯狂创客圈 死磕Netty 系列之12 [博客园 总入口 ] 本文说明 本篇是 netty+Protobuf 实战的第二篇,完成一个 基于Netty + Proto ...
- h5 录音 自动生成proto Js语句 UglifyJS-- 对你的js做了什么 【原码笔记】-- protobuf.js 与 Long.js 【微信开发】-- 发送模板消息 能编程与会编程 vue2入坑随记(二) -- 自定义动态组件 微信上传图片
得益于前辈的分享,做了一个h5录音的demo.效果图如下: 点击开始录音会先弹出确认框: 首次确认允许后,再次录音不需要再确认,但如果用户点击禁止,则无法录音: 点击发送 将录音内容发送到对话框中.点 ...
- Netty学习——Netty和Protobuf的整合(二)
Netty学习——Netty和Protobuf的整合(二) 这程序是有瑕疵的,解码器那里不通用,耦合性太强,有两个很明显的问题,但是要怎么解决呢?如:再加一个内部类型 Person2,之前的代码就不能 ...
- Unity手游之路<二>Java版服务端使用protostuff简化protobuf开发
http://blog.csdn.net/janeky/article/details/17151465 开发一款网络游戏,首先要考虑的是客户端服务端之间用何种编码格式进行通信.之前我们介绍了Unit ...
- Sword protobuf学习二
编写protobuf消息文件 文件格式: xxx.proto //标明使用哪个版本的protobuf,默认2.0版本 syntax = "proto3"; //类似于c++中的na ...
- ProtocolBuffers (二) android与PC,C#与Java 利用protobuf 进行无障碍通讯【Socket】
protobuf 是什么? Protocol buffers是一种编码方法构造的一种有效而可扩展的格式的数据. 谷歌使用其内部几乎RPC协议和文件格式的所有协议缓冲区. 参考文档 http://c ...
- ProtoBuf练习(二)
重复数据类型 protobuf语言的重复字段类型相当于C++的std::list数据类型 工程目录结构 $ ls proto/ TServer.proto TSession.proto proto文件 ...
- unity探索者之socket传输protobuf字节流(二)
版权声明:本文为原创文章,转载请声明http://www.cnblogs.com/unityExplorer/p/6977935.html 上一篇主要说的是protobuf字节流的序列化和解析,将pr ...
随机推荐
- python查找算法的实现-二分法
1.算法:(设查找的数组期间为array[low, high]) (1)确定该期间的中间位置K(2)将查找的值T与array[k]比较.若相等,查找成功返回此位置:否则确定新的查找区域,继续二分查找. ...
- c++中typename和class的区别介绍
"typename"是一个C++程序设计语言中的关键字.相当用于泛型编程时是另一术语"class"的同义词.这个关键字用于指出模板声明(或定义)中的非独立名称( ...
- ABAP报表中负值展示问题的处理方法
现象描述 在使用ABAP报表展示数据的时候会涉及到金额类字段,在手动计算金额的时候,有时会发生存在负值而无法正常展示的情况. 处理过程 ABAP报表的数据展示常用的方法有两种,分别是表控制和ALV ...
- Sql中的Merge和output
先看merge, 不用merge时: --更新 update TA Value ) --插入没有的数据 insert into TA ,,Value from TB ) and TypeName=@v ...
- AX2012 R3升级CU8的一些错误
AX2012 R3安装升级包CU8后进入系统,系统会提示打开软件升级清单“Software update checklist”,清单列出了升级要做的一系列动作. 在进行到编译应用时“Compile a ...
- python-推荐
users={"Angelica": {"Blues Traveler": 3.5, "Broken Bells": 2.0, " ...
- Windows开发环境搭建(安装 VS2010, VS2013, VS2015 Community, Windows Server 2008 R2)
1. 安装VS2010 1.1 安装步骤 1. 注意安装的时候,选择自定义安装,将不需要的VB.net去掉. 2. 看一下C++下的x64选项是否选择了,如果没选,将其选上. 3. 一定要将 Micr ...
- 使用before、after伪类制作三角形
使用before.after伪类实现三角形的制作,不需要再为三角形增加不必要的DOM元素,影响阅读. <!DOCTYPE html><html><head> ...
- [z] 人工智能和图形学、图像处理方面的各种会议的评级
转载自:『http://www.cvchina.info/2010/08/31/conference-ranking-byar/』 澳大利亚政府和澳大利亚研究理事会做的,有一定考价值. 会议名称 会议 ...
- POJ 1451 T9
T9 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 3083 Accepted: 1101 Description Ba ...