Windows网络编程

这里抄两个 定义的 TCP 和 IP 结构体   以后用到方便

 

IP数据报报头有一个长度为4位的首部长度,长度为16位的总长度。
首部长度是指首部长度为32比特的倍数(即4个字节的整数倍,或者说其单位为4个字节)。

所以IP首部最长为[(2的4次方) - 1] * 4 = 60字节。
总长度的单位是字节。
所以,IP数据报大小(包含首部) =  (2的16次方) - 1 = 65535字节。


struct IPHEAD  
{  
unsigned char h_len:4;//4位首部长度+4位IP版本号  
unsigned char ver:4;  
unsigned char tos;//8位服务类型TOS  
unsigned short total_len;//16位总长度(字节)  IP数据报长度   单位 为字节
unsigned short ident;//16位标识  
unsigned short frag_and_flags;//3位标志位  
unsigned char ttl;//8位生存时间 TTL  
unsigned char proto;//8位协议 (TCP, UDP 或其他)  
unsigned short checksum;//16位IP首部校验和  
unsigned int sourceip;//32位源IP地址  
unsigned int destip;//32位目的IP地址  
};  


struct TCPHEAD //定义TCP首部  
{  
USHORT th_sport; //16位源端口  
USHORT th_dport; //16位目的端口  
unsigned int th_seq; //32位序列号  
unsigned int th_ack; //32位确认号  
unsigned char th_lenres; //4位首部长度/6位保留字  
unsigned char th_flag; //6位标志位  
USHORT th_win; //16位窗口大小  
USHORT th_sum; //16位校验和  
USHORT th_urp; //16位紧急数据偏移量  
};  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值