Unity 使用 Protobuf-net
来源:互联网 发布:掌上电力老是网络错误 编辑:程序博客网 时间:2024/06/06 08:40
1.下载 Protobuf-net 点击打开链接
2.用VS打开Protobuf-net 解决方案,编译CodeGen 项目
3.在protobuf-net-master\ProtoGen\bin\Debug 目录中编写一个测试Order.proto 文本文件,.proto 语法请自行查找资料
package ServerMessage; message Order{ required int32 time = 1; required int32 userid = 2; required float price = 3; optional string desc = 4;}
4.打开命令行,进入 protobuf-net-master\ProtoGen\bin\Debug 这个目录
5.运行如下命令
protogen -i:Order.proto -o:Order.cs
-i 是输入文件,可以有多个
-o 输出的cs文件, 只能有一个..如果-i有多个 会将所有的代码生成到这一个cs文件当中
-ns 命名空间 最好使用,如果不使用每次生成的默认命名空间是proto的文件名。
6.在所下载的Protobuf-net 目录中 找到 protobuf-net 文件夹, 把整个文件夹放在Unity assets文件夹下,这时候会报错,先不用管7.assets 下新建一个文件夹Msg, 把Order.cs 放在里面
8.在asserts 目录下新建一个文本文件 写入 -unsafe,前后不要有空格,然后重命名文件smcs.rsp
9.Untiy中添加一个button ,添加一个脚本脚本 ,并引用
using ProtoBuf;
using ServerMessage;
添加一个函数,并和按钮点击事件关联
public void OnClicked() { Order od = new Order(); od.desc = "test"; od.price = 100.0f; od.time = 10000; od.userid = 205; MemoryStream stream = new MemoryStream(); Serializer.Serialize(stream, od); //此结果就可以在网络上传输 byte[] result; result = stream.ToArray(); //测试反序列化 MemoryStream dstream = new MemoryStream(result); Order ed= Serializer.Deserialize<Order>(dstream); Debug.Log("desc:" + ed.desc); }
10.重启Unity
1 0
- Unity 使用 Protobuf-net
- Unity中使用Protobuf-net
- Unity使用protobuf
- unity 简单使用protobuf
- Unity中使用Protobuf
- [Unity 网络]Unity Protobuf使用
- Unity使用protobuf-net实现的网络框架
- Unity跨iOS、Android平台使用protobuf-net的方法
- unity中简单实用protobuf(Protobuf-net)
- Unity中为什么使用protobuf以及使用方法
- unity中使用protobuf(兼容ios平台)
- unity中使用protobuf(兼容ios平台)
- Protobuf-Net 下载安装使用
- Protobuf-net ProtoGen的使用
- Unity3d protobuf-net的使用
- [Unity3D]简单使用Protobuf-net(一)
- [Unity3D]简单使用Protobuf-net(二)
- [Unity3D]简单使用Protobuf-net(三)
- Android 中的DisplayMetrics类的用法
- git fetch后,查看更改的内容
- 编程之美-数组循环移位
- ThreadLocal详解
- c与c++中enum和struct定义的区别
- Unity 使用 Protobuf-net
- Feature scaling
- Service--服务
- 让aop应用于controller
- Chipmunk碰撞回调短时间内重入的解决办法
- autolayout
- 为什么一些机器学习模型需要对数据进行归一化?
- Redis监控方案
- PaaS初步探究