Chinaunix首页 | 论坛 | 博客
  • 博客访问: 296976
  • 博文数量: 103
  • 博客积分: 2345
  • 博客等级: 大尉
  • 技术积分: 902
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-01 09:10
文章分类

全部博文(103)

文章存档

2022年(1)

2018年(3)

2017年(2)

2016年(3)

2015年(8)

2014年(8)

2013年(2)

2012年(9)

2011年(29)

2010年(20)

2009年(18)

我的朋友

分类: C/C++

2015-05-08 07:40:38

原文地址:UIP协议栈笔记·总结 作者:emebeder

    总算一点一点看完了UIP协议,期间各大网站,各位coder的代码翻了好几个,在此感谢。
    首先,应清楚UIP协议在代码中扮演的是什么角色,我觉得流水线一样,将应用层的数据,通过流水线不断包装。
    TCP---IP---MAC--->发送。
    uip_buf就是实际的原料了。在UIP协议就使用了一个缓冲区。其实是char类型的数组,然后各种strut将它转换成自己的结构,如:
  1.     #define BUF ((struct uip_eth_hdr *)&uip_buf[0])
  2.     #define ICMPBUF ((struct icmpip_hdr *)&uip_buf[UIP_LLH_LEN])
  3.     #define UDPBUF ((struct uip_udpip_hdr *)&uip_buf[UIP_LLH_LEN])
    所有的数据都保存在uip_buf数组中。通过uip_process函数来封装。
    uip_len是uip_buf接收到的数据的长度。
    具体的发送到网络上的函数需要根据自己的平台具体实现,整体的循环不需要改动多少。

阅读(667) | 评论(0) | 转发(0) |
0

上一篇:apt-get常用命令

下一篇:UIP协议栈笔记·五

给主人留下些什么吧!~~