public byte[] GetBytes(byte flag) { byte[] buff = null; BinaryWriter sw = null;// new BinaryWriter(stream); //Int16 val = 0xAA + 0xBB; if (Type == (int)MessageType.Beep) { buff = new byte[8]; sw = GetWriter(buff); sw.WriteShort((short)buff.Length); WriteCommand(sw); } else if (Type == (int)MessageType.Login) { buff = new byte[16]; sw = GetWriter(buff); sw.WriteShort((short)buff.Length); WriteCommand(sw); sw.Write(Key); var tmp = DateTime.Now.GetBytes(); sw.Write(tmp); sw.Write(flag);//注册标志; } else if (Type == (int)MessageType.Detail) { buff = new byte[9]; sw = GetWriter(buff); sw.WriteShort((short)buff.Length); WriteCommand(sw); if (Datas != null) { sw.Write(flag); } } else if (Type == (int)MessageType.BlackTable) { buff = new byte[13]; sw = GetWriter(buff); sw.WriteShort((short)buff.Length); WriteCommand(sw); var table = BlackTableHelper.GetBlackTable(); var version = BlackTableHelper.GetBlackTableVersion(table); sw.Write(version); var len = (short)BlackTableHelper.GetBlackTable().CurrenciesNumber.Count; sw.WriteShort(len); } else if (Type == (int)MessageType.DownLoadBlackTable) { buff = new byte[26]; sw = GetWriter(buff); sw.WriteShort((short)buff.Length); WriteCommand(sw); var index = Datas.ReadShort(0); var lst = BlackTableHelper.GetBlackTable().CurrenciesNumber; if (index > lst.Count) { sw.Write(BlackTable.Blank); } else { var item = lst[index - 1]; sw.Write(item); } } if (sw != null) { var count = Sum(buff); sw.WriteShort(count); sw.Close(); } return(buff); }