Previous topicNext topic
Help > XEngine_Core > XEngine_Protocol >
Protocol_RawSocket

功能分区:原始套接字

兼容系统:Linux MacOS Windows Android IOS

所属项目:XEngine

所属组件:XEngine_Core

所属模块:XEngine_Protocol

所属结构:无

/************************************************************************/
/* 原始套接字编程数据结构参数 */
/************************************************************************/
typedef struct tag_Protocol_RawSocket_NetParam
{
    CHAR tszSrcMac[8]; //原始MAC地址(ARP协议需要)
    CHAR tszDstMac[8]; //目的MAC地址
    CHAR tszSrcAddr[64]; //原始地址
    CHAR tszDstAddr[64]; //目标地址
    int nSPort; //原端口
    int nDPort; //目标端口
    int nIDProfile; //IP头标志,可为空
    int nIPProto; //响应的协议类型
    USHORT usTTL; //TTL节点
    USHORT usLen; //负载数据包大小,如果没有填入0,解析返回代表协议大小,只需要移动后就是数据了
    //负载协议
    struct
    {
        int nWinSize; //滑动窗口大小
        int nSequeue; //当前序列号
        int nAck; //确认号
        uint8_t nFlag; //协议子类型
    }st_TCPHdr;
    struct
    {
        int nSequeue; //包序列号
        uint8_t nFlag; //协议子类型
    }st_ICMPHdr;
    struct
    {
        uint16_t nFlag; //协议子类型
    }st_ARPHdr;
}PROTOCOL_RAWSOCKET_NETPARAM, * LPPROTOCOL_RAWSOCKET_NETPARAM;