ZYNQ LWIP(RAW API) TCP函数学习
1 LWIP TCP函数学习
tcp_new()–新建控制块
这个函数用于分配一个TCP控制块,它通过tcp_alloc()函数分配一个TCP控制块结构来存储TCP控制块的数据信息, 如果没有足够的内容分配空间,那么tcp_alloc()函数就会尝试释放一些不太重要的TCP控制块, 比如就会释放处于TIME_WAIT、CLOSING等状态的TCP控制块,或者根据控制块的优先级进行释放, 释放一些不重要的TCP控制块,以完成新TCP控制块的分配,分配完成后,内核会初始化TCP控制块的各个字段内容.
struct tcp_pcb *
tcp_new(void);
tcp_bind()–绑定控制块
对应TCP服务器端的程序,一般在创建一个TCP控制块的时候,就会调用tcp_bind()函数将本地的IP地址、端口号与一个控制块进行绑定,它的工作其实很简单,就遍历TCP控制块链表,我们知道LwIP使用了4条TCP控制块链表来描述TCP控制块的各种状态,那么肯定