Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8138
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2021-03-04 11:16
文章分类
文章存档

2021年(7)

我的朋友
最近访客

分类: C/C++

2021-03-04 11:19:01

原文地址: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接收到的数据的长度。
    具体的发送到网络上的函数需要根据自己的平台具体实现,整体的循环不需要改动多少。

阅读(693) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~