LWIP协议中tcp_seg结构相关指针的个人理解
时间:2015-07-18 16:48:11
收藏:0
阅读:1095
最在在研读老衲五木写的那本《嵌入式网络那些事儿:LWIP深度剖析与实战》书的时候,由于项目的需要,操作LWIP协议中TCP层的tcp_seg结构指针。遇到了问题:
如上图所示,其tcp_seg中的dataptr指针和payload指针全都指向了TCP数据部分。而在老衲五木的那个博客文档中确写成如下:
对应的图为:
上下存在一些出入。因此我查阅了一下tcp_enqueen()函数(在tcp_out.c中)。其源代码如下:
重点在上图红箭头部分那个pbuf_header(seg->p,TCP_HLEN)那个函数,其部分代码如下:
对p->payload指针进行了移动。而且是前移,指向tcphdr部分。
因此。个人认为老衲五木的《嵌入式网络那些事儿:LWIP深度剖析与实战》中的插图有误。而其博客中是正确的。
在此非常感谢老衲五木的指导,他的书给我的帮助是非常巨大的。
特别说明 此博客引用了老衲五木的书和博客中的插图。非常感谢!
原文:http://www.cnblogs.com/yml435/p/4657164.html
评论(0)