C# 发生反序列化错误

C# 发生反序列化错误,c#,serialization,asyncsocket,C#,Serialization,Asyncsocket,我正在尝试将数据从服务器反序列化到我设计的客户端对象。但它不起作用。我对它作为字段的每个类都说了sirialized关键字。异常消息为 version=1.0.0.0 culture=neutral publickeytoken=null 那我该怎么办?我必须将方法定义为属性吗 =================================================================== sockServer.Receive(buffer); formatter = n

我正在尝试将数据从服务器反序列化到我设计的客户端对象。但它不起作用。我对它作为字段的每个类都说了sirialized关键字。异常消息为

version=1.0.0.0 culture=neutral publickeytoken=null

那我该怎么办?我必须将方法定义为属性吗

===================================================================
sockServer.Receive(buffer);

formatter = new BinaryFormatter();

MemoryStream ms = new MemoryStream(buffer);

dataFromServerToClient = (DataFromServerToClient)formatter.Deserialize(ms);
===================================================================

对象类型是否从客户端发送到另一个库中的服务器,并且该库同时被客户端和服务器引用?这不是正确的异常消息。请把整个消息都发出去。还有一个简单的
sockServer.Receive(缓冲区)
可能无法获取服务器发送的所有数据,因为数据可能会被分割,因此您需要多次调用
Receive
,直到获取所有数据。您需要制定一种协议,在该协议中定义前8个字节为您提供要接收的字节数组长度,然后调用
Receive
,直到读取所有字节。这是一个常见的误解,因为您在一次调用中向套接字发送一个缓冲区,一次
接收就足够了。