LWIP之TCP
来源:互联网 发布:制作二维动漫软件 编辑:程序博客网 时间:2024/06/06 03:15
最近研究lwip源码,对着"lwip协议详解"的资料,还是没能够完全理解其中的机制,特别是TCP滑动窗口,可能因为我还没有去深入了解TCP数据的发送流程。
简单总结一下服务器端的数据接收流程:
从tcp_input函数开始,如果tcp_listen_pcbs链表中查找到匹配的tcp控制块,则把tcp的状态变为SYN_RCVD;如果在tcp_active_pcbs链表中查找到匹配的tcp控制块,则会调用tcp_process函数处理tcp的状态机,然后调用tcp_receive函数,然后分为seqno + 1<rcv_nxt<seqno + tcplen - 1和rcv_nxt<seqno<rcv_nxt +rcv_wnd - 1两种情况进行处理,最后调用TCP_EVENT_RECV函数通知应用程序接收,接收时需调用tcp_recv函数调整rcv_wnd的值。
0 0
- LWIP之TCP通信
- LWIP之TCP
- LwIP之TCP
- LWIP之TCP层接收相关
- LWIP之TCP层发送相关
- LWIP之TCP层发送相关
- LWIP之TCP层接收相关
- LWIP之TCP层发送相关
- LWIP之TCP层接收相关
- STM32移植lwip之建立tcp服务器
- STM32移植lwip之建立tcp客户端
- LwIP BUG之TCP连接丢失
- LwIP BUG之TCP连接丢失
- LWIP之TCP层发送相关 (转)
- LWIP完全剖析详解之core/tcp.c
- 轻量级TCP/IP实现包Lwip之ARP
- lwip tcp编程
- lwIP(TCP/IP)小知识
- [js点滴]JavaScript之鼠标事件04
- Unknown tag (c:forEach) 未知的标签 解决方法
- Spring4.3.3 WebSocket-STOMP协议集成 (1.1)-WebSocket协议通讯小栗子
- Tensorflow:tf.train.SyncReplicasOptimizer
- UVa839-Not so Mobile (天平)
- LWIP之TCP
- [js点滴]JavaScript之键盘事件05
- LeetCode 456. 132 Pattern
- C++类初始化顺序
- Maven 出错: Failure to transfer classworlds:classworlds:pom:1.1-alpha-2 from
- Quzrtz框架学习入门(二)
- <filter-mapping>中<dispatcher>FORWARD</dispatcher>的作用
- [js点滴]JavaScript之拖拽事件06
- CSS样式优先级