小编use*_*070的帖子

为什么我的protobuf-net流不起作用?

我有一个可以序列化和反序列化的对象,但在反序列化时它会抛出一个错误:

Invalid field in source data: 0

我不知道为什么会这样

反序列化和接收的代码:

public void listenUDP()
{
        EndPoint ep = (EndPoint)groupEP;
        //BinaryFormatter bf = new BinaryFormatter();
        recieving_socket.Bind(ep);
        while (true)
        {

            byte[] objData = new byte[65535];
            recieving_socket.ReceiveFrom(objData, ref ep);
            MemoryStream ms = new MemoryStream();
            ms.Write(objData, 0, objData.Length);
            ms.Seek(0, SeekOrigin.Begin);

            messageHandle(ProtoBuf.Serializer.Deserialize<SimplePacket>(ms));
            ms.Dispose();


        }
    }
Run Code Online (Sandbox Code Playgroud)

序列化代码:

public void sendDataUDP(Vec2f[] data)
    {

            SimplePacket packet = new SimplePacket(DateTime.UtcNow, data);
            //IFormatter formatter = new BinaryFormatter();
            MemoryStream stream = new MemoryStream();
            System.Diagnostics.Stopwatch st = System.Diagnostics.Stopwatch.StartNew();
            //formatter.Serialize(stream, data);
            ProtoBuf.Serializer.Serialize<SimplePacket>(stream, packet);
            //Console.WriteLine(st.ElapsedTicks);
            stream.Close(); …
Run Code Online (Sandbox Code Playgroud)

c# serialization protobuf-net

5
推荐指数
1
解决办法
1201
查看次数

标签 统计

c# ×1

protobuf-net ×1

serialization ×1