#define MAX_MSG_SIZE 2048
typedef enum _MSG_TYPE

{
EN_CLIENT_REQ_PING = MSG_BASE_CLIENT_REQ,
EN_CLIENT_REQ_LOGIN,

/**///////////////////////////////////////////////////////////////////////////
EN_SVR_RES_PING = MSG_BASE_SVR_RES,
EN_SVR_RES_LOGIN,
}MSG_TYPE,*PMSG_TYPE;
typedef struct _MSG_HEAD

{ULONG ulMagic; // 幻數(shù),以固定的格式開始,如'MYMS'
USHORT usLen; // Tsdu長(zhǎng)度,即實(shí)際傳輸數(shù)據(jù)長(zhǎng)度,協(xié)議數(shù)據(jù)包聯(lián)合體當(dāng)前采用的結(jié)構(gòu)體大小
MSG_TYPE enMsgType; // 包類型BOOL bEncrypt; // 包內(nèi)容是否加密
USHORT usCheckSum; // 校驗(yàn)和,整個(gè)數(shù)據(jù)包的完整性檢測(cè)
}MSG_HEAD,*PMSG_HEAD;
typedef struct _SEND_TRACE_ROUTE

{
ULONG ulIdentify;
ULONG ulDstIP;
USHORT usTTL;
}SEND_TRACE_ROUTE,*PSEND_TRACE_ROUTE;
typedef struct _SEND_TEST_RTT

{
ULONG ulIdentify;
ULONG ulDstIP;
USHORT usDstPort;
}SEND_TEST_RTT,*PSEND_TEST_RTT;
typedef struct _PACKET_SEND

{
MSG_HEAD sUdpMsgHead;
union
{
CHAR szReq[MAX_MSG_SIZE];
SEND_TRACE_ROUTE sendTraceRoute;
SEND_TEST_RTT sendTestRtt;
};
}PACKET_SEND,*PPACKET_SEND;

