C# Protobuf 接收数据并解析数据

在流里读出数据后,需要将数据包大小缩短成有效大小,即 bytesRead 长度。 下面是 C# 端接收并解析数据的示例代码: private void ReceiveMessage() { stream = client.GetStream(); int bytesRead; while (isKeepReading) { if (stream.CanRead) { buffer = new byte[client.ReceiveBufferSize]; bytesRead = stream.Read(buffer, 0, client.ReceiveBufferSize); if (bytesRead > 0) { MemoryStream protoStream = new MemoryStream(buffer,0, bytesRead); Cas.Proto.DataMessage dataMessage = Cas.Proto.DataMessage.Parser.ParseFrom(protoStream); switch (dataMessage.Type) { case DataMessage.Types.Type.Mesh: Debug.Log("Mesh类型"); break; default: break; } } } } }

2024年06月16日 · 1 min · Cassius0924

Unity 脚本使用 NuGet 安装解决方案包

本文旨在教大家如何在 Unity 中使用 NuGet 安装解决方案包。 Visual Studio 集成了 NuGet 管理器,可以方便的安装和卸载解决方案包。但在使用 Viusal Studio 开发 Unity C# 脚本时,不能直接在内置的 NuGet 管理器安装解决方案包。因为 Unity 工程打开或运行时会刷新工程文件,导致我们在 Visual Studio 内置 NuGet 管理器安装的解决方案包失效。所以 Unity 使用 NuGet 安装解决方案包需要特殊步骤。 步骤下载解决方案包在NuGet官网下载你需要解决方案包,例如Google.Protobuf。 直接下载会下载最新预览版,稳定版需要点击右上角的 Full stats,查看所有版本。 找到稳定版 3.22.4,点击即可下载。 解压包下载后会得到拓展名为.nupkg的文件,先将文件拓展名改为.zip,接着解压即可。 导入dll文件解压后可以得到 dll 文件,位于 google.protobuf.3.22.4/lib/**/Google.Protobuf.dll ,将dll文件复制到 Unity 工程文件夹的 Assets/Plugins 文件夹下,若没有这个文件夹自己手动新建一个。 配置Unity项目接着需要将 Unity 项目的 Api Compatibility Level 更改为与 dll 文件对应的版本。打开 Unity 的 Project Settings,找到 Player > Other Settings > Api Compatibility Level。 ...

2023年06月01日 · 1 min · Cassius0924