反序列化出错!在线等,高分
public class SerializeAvxConfig
{
public static MemoryStream SerializeBinary( object request )
{
BinaryFormatter binaryFormatter = new BinaryFormatter();
System.IO.MemoryStream memoryStream = new
System.IO.MemoryStream();
binaryFormatter.Serialize( memoryStream, request );
return memoryStream;
}
public static object DeserializeBinary( MemoryStream memoryStream )
{
memoryStream.Position = 0;
BinaryFormatter binaryFormatter = new BinaryFormatter();
------------------〉异常 object newObj = binaryFormatter.Deserialize( memoryStream );
memoryStream.Close();
return newObj;
}
}
SEND:
ajStart = new AJStart();
MemoryStream ms = new MemoryStream();
ms = SerializeAvxConfig.SerializeBinary(ajStart);
socketToServer.SendByLength(ms.ToArray(), ms.ToArray().Length);
RECEIVE:
ajStart = new AJStart();
MemoryStream ms = new MemoryStream();
ms = SerializeAvxConfig.SerializeBinary(ajStart);
byte[] buff = new byte[ms.Length];
int length = sock.Receive(buff,SocketFlags.None);
ms.Close();
MemoryStream ms2 = new MemoryStream();
ms2.Write(buff, 0, length);
AJStart ajStart2 = (AJStart)SerializeAvxConfig.DeserializeBinary(ms2);
反序列化出错,为什么?