110,539
社区成员
发帖
与我相关
我的任务
分享
public static void SetStruct(object o, int offset)
{
AuthenAccount_Req_Cmd aarc ;
List<object> list = new List<object>();
if (o is AuthenAccount_Req_Cmd)
{
aarc = (AuthenAccount_Req_Cmd)o;
}
else
{
throw new Exception("o is not a struct type");
return;
}
// list.Add(aarc.uHead);
foreach (var a in aarc.pstrUserName)
list.Add(a);
foreach (var a in aarc.pstrUserPassword)
list.Add(a);
// list.Add(aarc.wGroup);
byte[] c = BitConverter.GetBytes(aarc.wGroup);
foreach (var a in c)
list.Add(a);
byte[] bt=new byte[list.Count];
for (int i = 0; i < list.Count; i++)
{
byte b = Convert.ToByte(list[i]);
bt[i] = b;
}
}
using System.Runtime.Serialization.Formatters.Binary; //BinaryFormatter
using System.IO; //MemoryStream
///<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)
{
BinaryFormatter formatter = new BinaryFormatter();
MemoryStream rems = new MemoryStream(data);
data = null;
return formatter.Deserialize(rems);
}
public static void SetStruct(object o, int offset)
{
AuthenAccount_Req_Cmd aarc ;
List<object> list = new List<object>();
if (o is AuthenAccount_Req_Cmd)
{
aarc = (AuthenAccount_Req_Cmd)o;
}
else
{
throw new Exception("o is not a struct type");
return;
}
list.Add(aarc.uHead);
foreach (var a in aarc.pstrUserName)
list.Add(a);
foreach (var a in aarc.pstrUserPassword)
list.Add(a);
list.Add(aarc.wGroup);
byte[] bt=new byte[list.Count];
for (int i = 0; i < list.Count; i++)
{
byte b = Convert.ToByte(list[i]);
bt[i] = b;
}
}
PacketData.SetStruct(msg, 0);