一种自定义网络通信协议

/ 转自  /http://www.cppblog.com/aurain/archive/2009/12/31/104521.html

 

 

#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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值