C#通过Socket发送Object

这是一个用C#写的Socket服务器和客户端,当然Socket服务器和客户端不是主要的(有兴趣的朋友可以参考下),主要的内容是介绍如何通过这种Socket方式发送Object对象,我在例子中新建一个user类,然后实例化这个对象,并通过Socket将这个对象进行发送和接收,应该很有趣,亲们试试吧,主要用到两个C#方法,序列化和反序列化

///<summary>        
/// 序列化        
/// </summary>        
/// <param name="data">要序列化的对象</param>        
/// <returns>返回存放序列化后的数据缓冲区</returns>        
public static byte[] Serialize(object data)       
{       
    BinaryFormatter formatter = new BinaryFormatter();       
    MemoryStream rems = new MemoryStream();       
    formatter.Serialize(rems, data);       
    return rems.GetBuffer();       
}       
               
/// <summary>        
/// 反序列化        
/// </summary>        
/// <param name="data">数据缓冲区</param>        
/// <returns>对象</returns>        
public static object Deserialize(byte[] data)       
{       
    Object obj = null;       
    try
    {       
        BinaryFormatter formatter = new BinaryFormatter();       
        MemoryStream rems = new MemoryStream(data);       
        data = null;       
        obj = formatter.Deserialize(rems);       
    }       
    catch (Exception ex) { MessageBox.Show(ex.Message); }       
    return obj;       
}

本例完整源码下载 

SocketSendObject.rar

 

卢雨高原创,转载请保留连接