基本是这样运作的Pack pack = PacketHelpers.GetBodyBytes(e.Astream); if (pack != null) { switch ((Command)pack.PackCommand) { case Command.VerifyVersion: {此处代码没写} break; default: break; } }
public static Pack GetBodyBytes(byte[] data) { {此处代码没写} return (Pack)Cryption.Deserialize(Packs); //错误提示在这里 异常:已引发:“无法将类型为“Common.Pack”的对象强制转换为类型“Common.Pack”。”(System.InvalidCastException) 引发了一个 System.InvalidCastException:“无法将类型为“Common.Pack”的对象强制转换为类型“Common.Pack”。” } public static class Cryption { public static object Deserialize(byte[] stream) { object data = new object(); MemoryStream streamMemory = new MemoryStream(); try { BinaryFormatter formatter = new BinaryFormatter(); streamMemory = new MemoryStream(stream); data = formatter.Deserialize(streamMemory); } catch { data = null; } return data; } } [Serializable] public class Pack { public byte PackCommand = 0; public int Version = 0; public Pack(Command com, int ver) { PackCommand = (byte)com; //此处(byte)com的结果为 116 , com = VerifyVersion Version = ver; } public Object PackObj = null; } public enum Command : byte { VerifyVersion = 0x74, }
Pack pack = PacketHelpers.GetBodyBytes(e.Astream);
if (pack != null)
{
case Command.VerifyVersion:
{此处代码没写}
break;
}public static Pack GetBodyBytes(byte[] data)
{
{此处代码没写}
return (Pack)Pack;
}
4
5
6
7
8
9
10
11
12
13
Pack pack = PacketHelpers.GetBodyBytes(e.Astream);
if (pack != null)
{
switch ((Command)pack.PackCommand)
{
case Command.VerifyVersion:
{此处代码没写}
break;
default:
break;
}
}
public static Pack GetBodyBytes(byte[] data)
{
{此处代码没写}
return (Pack)Pack;
}
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
if (pack != null)
{
switch ((Command)pack.PackCommand)
{
case Command.VerifyVersion:
{此处代码没写}
break;
default:
break;
}
}
public static Pack GetBodyBytes(byte[] data)
{
{此处代码没写}
return (Pack)Cryption.Deserialize(Packs); //错误提示在这里 异常:已引发:“无法将类型为“Common.Pack”的对象强制转换为类型“Common.Pack”。”(System.InvalidCastException)
引发了一个 System.InvalidCastException:“无法将类型为“Common.Pack”的对象强制转换为类型“Common.Pack”。”
} public static class Cryption
{
public static object Deserialize(byte[] stream)
{
object data = new object();
MemoryStream streamMemory = new MemoryStream();
try
{
BinaryFormatter formatter = new BinaryFormatter();
streamMemory = new MemoryStream(stream);
data = formatter.Deserialize(streamMemory);
}
catch
{
data = null;
}
return data;
}
} [Serializable]
public class Pack
{
public byte PackCommand = 0;
public int Version = 0;
public Pack(Command com, int ver)
{
PackCommand = (byte)com; //此处(byte)com的结果为 116 , com = VerifyVersion
Version = ver;
}
public Object PackObj = null;
} public enum Command : byte
{
VerifyVersion = 0x74,
}