手游 通讯要达到最大优化 ,在没有自己写出的序列化好的结构下就暂时使用谷歌的protobuf-net 来源于社区 ;
protobuf c#版本分成两个 一个是protobuf-net 另一个是protobuf-csharp-sport一会再补充 ,刚才实现了自己编辑.proto文件,然后通过ProtoGen生成.cs文件
步骤 1.编辑111.proto文件 遵循谷歌的格式 message一个类的名字 required 必须要赋值的字段
message Person{
required string name=1;
required int32 id=2;
optional string email=3;
enum PhoneType{
MONILE=0;
HOME=1;
WORK=2;}
}
步骤 2.编译protobuf-net 并且在ProtoGen中引用 之后再编译Protogen.exe
步骤 3.在dos下cd到protogen.exe 然后 -i:111.proto -o:111.cs -ns:MyProto
搞定
下边的是另一个版本的 一会再补充
具体步骤如下:
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文件导入项目中就可以使用了~