Exemple #1
0
        /// <summary>
        /// 消息体的序列化
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public static byte[] encode(SocketModel model)
        {
            MemoryStream ms = new MemoryStream();   //实例化内存流
            BinaryWriter bw = new BinaryWriter(ms); //实例化写入流

            if (model != null)
            {
                bw.Write(model.Type);
                bw.Write(model.Area);
                bw.Write(model.command);
                if (model.message != null)
                {
                    bw.Write(SerializeUtil.serialize(model.message));
                }
            }
            byte[] result = new byte[ms.Length];
            Buffer.BlockCopy(ms.GetBuffer(), 0, result, 0, result.Length);
            bw.Close();
            ms.Close();
            return(result);
        }