无法使用 protobuf-net 在 C# 中反序列化
Unable to Deserialize in C# using protobuf-net
本文关键字:反序列化 protobuf-net 更新时间:2023-10-16
我正在使用协议缓冲区在 C++ 和 C# 客户端服务器应用程序之间发送和接收数据。我正在使用protobuf-net。我有两个原型文件,一个请求命令和一个响应命令。我能够将命令从 c# 客户端发送和反序列化到 c++ 服务器。但是我无法在 c# 中反序列化。我正在获取 c# 中的字节数据,但我得到空响应命令。考虑代码如下所示:
proto.ResponseCommand rsp = new proto.ResponseCommand ();
using (var data = new MemoryStream ())
{
data.write (buffer,0,buffer.length);
rsp = Serializer.Deserialize<proto.ResponseCommand> (data);
}
我在缓冲区中以字节为单位获取数据,但它不会在响应命令中反序列化。
我终于想通了。我没有考虑客户端返回的接收字节的实际大小。读取命令。之后,我还倒带了MemoryStream,感谢@neil danson
相关文章:
- 如何知道QDataStream不能反序列化某些内容
- 增强基于 XML class_id的反序列化
- 提升反序列化对象具有 nan 或 -nan 值
- 如何在 c++ 非托管代码中反序列化 byte[] 的 json 字符串?
- 如何反序列化数组?
- Protobuf中重复字段的问题.使用重复字段进行序列化/反序列化的更好方法是什么?
- 通过 tcp 发送 C# 类并在 C++ 上反序列化
- 序列化和反序列化boost共享指针
- Protobuf的反序列化功能之一可以使用Cereal重新创建吗?
- 无法使用 protobuf-net 在 C# 中反序列化
- Protobuf网络串行化/反序列化c#与Linux c++
- Google ProtoBuf序列化/反序列化
- 反序列化Google Protobuf二进制文件
- 使用protobuf-net发布反序列化(protocolBuffer)序列化数据
- 从c++中反序列化protobuf和在c#中重新序列化会得到不同的输出
- 在Java中反序列化从c++通过JNI传递的protobuf ByteArray
- 如何在使用 C# protobuf-net 生成的 c++ 中反序列化"Serialized Protobuffer"
- 在消息反序列化期间,python中的Protobuf抱怨'Unexpected end-group tag.'
- protobuf:对套接字进行连续序列化和反序列化
- 不能在Java中反序列化来自c++的protobuf数据