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);反序列化出错,为什么?
{
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);反序列化出错,为什么?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货