一種自定義網絡通信協議

#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; // 幻數,以固定的格式開始,如'MYMS' USHORT usLen; // Tsdu長度,即實際傳輸數據長度,協議數據包聯合體當前採用的結構體大小 MSG_TYPE enMsgType; // 包類型 BOOL bEncrypt; // 包內容是否加密 USHORT usCheckSum; // 校驗和,整個數據包的完整性檢測 }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;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章