// Verify msg type: CG_Echo_Request private static void Verify_CG_Echo_Request() { CG_Echo_Request stSrc = new CG_Echo_Request(); // Make object rand byte[] src_bytes = stSrc.ToBytes(); MBinaryReader mbr = new MBinaryReader(src_bytes); CG_Echo_Request stDst = new CG_Echo_Request(); stDst.msg_len = mbr.ReadUInt16(); stDst.msg_id = mbr.ReadUInt16(); stDst.FromBytes(mbr); // Verify object content if (stDst.msg_len != CG_Echo_Request.MSG_LEN) { Console.WriteLine("Failed to verify field: msg_len"); } if (stDst.msg_id != CG_Echo_Request.MSG_ID) { Console.WriteLine("Failed to verify field: msg_id"); } // Compare object by bytes byte[] dst_bytes = stDst.ToBytes(); if (dst_bytes.Length != src_bytes.Length) { Console.WriteLine("Failed to verify field: CG_Echo_Request by bytes length"); } for (int byte_index = 0; byte_index < dst_bytes.Length; ++byte_index) { if (src_bytes[byte_index] != dst_bytes[byte_index]) { Console.WriteLine("Failed to verify field: CG_Echo_Request by bytes length"); } } }
public static Message CreateMessageById(AUINT16 nMsgId) { Message msg = null; switch (nMsgId) { case CG_HeartBeat_Msg.MSG_ID: msg = new CG_HeartBeat_Msg(); break; case GC_HeartBeat_Msg.MSG_ID: msg = new GC_HeartBeat_Msg(); break; case CG_Echo_Request.MSG_ID: msg = new CG_Echo_Request(); break; case GC_Echo_Response.MSG_ID: msg = new GC_Echo_Response(); break; case CG_Chat_Cmd.MSG_ID: msg = new CG_Chat_Cmd(); break; case GC_Chat_Msg.MSG_ID: msg = new GC_Chat_Msg(); break; default: Console.WriteLine("Invalid msg id:" + nMsgId); break; } return(msg); }