110,534
社区成员
发帖
与我相关
我的任务
分享
class ClassSerializers
{
//将对象序列化为二进制流
public System.IO.MemoryStream SerializeBinary(object o)
{
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter serializer = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
System.IO.MemoryStream memStream = new System.IO.MemoryStream();//创建内存流
serializer.Serialize(memStream, o);//将对象序列化为二进制流
}
//将二进制流反序列化为对象
public object DeSerializeBinary(System.IO.MemoryStream memStream)
{
memStream.Position = 0;
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter deserializer = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
object newobj = deserializer.Deserialize(memStream);//将二进制流反序列化为对象
memStream.Close();
return newobj;
}
}
byte[] byt = new ClassSerializers().SerializeBinary(o).ToArray();//将序列化对象转换为字节数组,作为数据发送。数据可送到客户端是可用DeSerializeBinary()方法得到相应的对象,从而得到对象中封装的数据,如用户名,ip等等