예제 #1
0
        // 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");
                }
            }
        }
예제 #2
0
        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);
        }