在反序列化的时候,需要先把流的指针位置重新设置到0
MemoryStream ms2 = new MemoryStream();
ms2.Write(bytes, 0, bytes.Length);
BinaryFormatter bf2 = new BinaryFormatter();
ms2.Position = 0;//关键点在此处
SocketMessage sm2 = (SocketMessage)bf2.Deserialize(ms2);