TCPRAW编程
TCP RAW 编程总之一句话“立足控制块,认清状态转换图,编写回调函数。”
一切都围绕这三点进行研究!!!←
什么是控制块?
TCP 实现中专门用一个数据结构来描述一个连接,这个数据结构就叫做 TCP 控制块。系统为每一个连接分配一个控制块,连接与控制块一一对应。控制块里有什么?包含了双方实现基本通信所需要的信息,如发送窗口、接收窗口、数据缓冲区
TCP 编程本质上也是对 TCP控制块的操作。用户编程的本质就是编写自己的回调函数,然后注册到TCP控制块中,当内核在控制块上检测到相应的事件后,会调用用户注册的回调函数。←
控制块按照不同状态,被放入四个链表中:←新创建且绑定了本地端口的控制块
处于close状态tcp bound pcbstcp_listen pcbs(tcp_pcb listen) listen 状态的控制块(被动连接),他描述了一个本地连接。
他的回调函数如下。
这是我在学习stm32 lwip中的记录。这里有一个小白入门lwip的非常好的视频,分享给大家,同时也方便我以后学习。
<iframe src="//player.bilibili.com/player.html?aid=895453221&bvid=BV1KP4y1T7Ym&cid=567462863&p=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>