在unity中使用google protobuf

protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多领域。

在unity开发中可以加快数据传输效率。

首先下载protobuf的dll,导入到unity中。

首先把数据模型实例化例如

using UnityEngine;
using System.Collections;
using ProtoBuf;

[ProtoContract]
public class User  {
    
    [ProtoMember(1)]
    public int ID { get; set; }
    [ProtoMember(2)]
    public string Username { get; set; }
    [ProtoMember(3)]
    public string Password { get; set; }
}

接着把模型数据转换为二进制

 using (var fs = File.Create(Application.dataPath + "/user.bin"))
        {
             Serializer.Serialize<User>(fs, user);
         }
接着把二进制数据转换为模型数据
 using (var fs = File.OpenRead(Application.dataPath + "/user.bin"))
        {
            user = Serializer.Deserialize<User>(fs);
        }
工程示例:https://download.csdn.net/download/laoshaonian/10406957


猜你喜欢

转载自blog.csdn.net/laoshaonian/article/details/80275178