Beispiel #1
0
 /// <summary>
 /// 序列化
 /// </summary>
 /// <param name="value"></param>
 /// <returns></returns>
 public static byte[] encode(object value)
 {
     byte[] array = null;
     using (MemoryStream memoryStream1 = new MemoryStream())
         using (MemoryStream memoryStream2 = new MemoryStream())
         {
             //序列化流一
             new BinaryFormatter().Serialize((Stream)memoryStream1, value);
             //流一压缩到流二
             SerializeUtil.Compress((Stream)memoryStream1, (Stream)memoryStream2);
             array = memoryStream2.ToArray();
         }
     return(array);
 }
Beispiel #2
0
 /// <summary>
 /// 用protocolbuff来编码/序列化
 /// </summary>
 /// <param name="obj"></param>
 /// <returns></returns>
 public static byte[] ProteBufEncode(object obj)
 {
     byte[] bytes = null;
     using (MemoryStream memoryStream1 = new MemoryStream())
         using (MemoryStream memoryStream2 = new MemoryStream())
         {
             RuntimeTypeModel.Default.Serialize(memoryStream1, obj);
             SerializeUtil.Compress((Stream)memoryStream1, (Stream)memoryStream2);
             memoryStream2.Position = 0;
             int lenth = (int)memoryStream2.Length;
             bytes = new byte[lenth];
             memoryStream2.Read(bytes, 0, lenth);
         }
     return(bytes);
 }