响木SVIP目录
响木最新
响木众筹
响木众筹
当前目录
全盘
查全部
文件夹
文件
主页
/
我的资源
/
01 响木最新众筹课
/
3000-3999
/
3300-3399
/
3391.用10000+行代码从0写TCP_IP协议栈
/
01_第01.01-课程介绍.mp4
02_第01.02-运行效果演示.mp4
03_TCPIP课程参考书籍.html
04_【资料下载说明】.html
05_第-01.03-资料说明(链接地址已经发生变化).mp4
06_第02.01-开发环境概述.mp4
07_第02.02-Windows开发环境配置.mp4
08_第02.03-Mac开发环境搭建.mp4
09_第02.05-工程配置详解.mp4
100_第12.03-插入定时器(简单方法).mp4
101_第12.04-插入定时器(升序方法).mp4
102_第12.05移除定时器.mp4
103_第12.06-扫描定时器列表.mp4
104_第12.07-让工作线程处理定时事件.mp4
105_第13.00-ARP协议简介.mp4
106_第13.01-向指定IP地址发送数据.mp4
107_第13.02-初始化ARP模块.mp4
108_第13.03-发送ARP请求.mp4
109_第13.04-生成无回报(免费)ARP.mp4
10_第03.00-基本概念和原理.mp4
110_第13.05-获取ARP输入包.mp4
111_第13.06-响应发来的ARP请求.mp4
112_第13.07-显示ARP包结构和缓存表.mp4
113_第13.08-分配和释放缓存表项.mp4
114_第13.09-查找和插入表项.mp4
115_第13.10-解析IP地址并发送包.mp4
116_第13.11-给缓存表项增加超时重新请求.mp4
117_第13.12-清空ARP表和查找ARP表.mp4
118_第14.00-IP协议简介.mp4
119_第14.01-添加IP数据报头.mp4
11_第03.01-向网络上发送数据包.mp4
120_第14.02-接收输入的IP数据报.mp4
121_第14.03-IP数据报的预处理检查(1).mp4
122_第14.03-IP数据报的预处理检查(2)-.mp4
123_第14.04-使用校验和检查包头正确性.mp4
124_第14.05-IP数据报分解处理.mp4
125_第14.06-显示IP包内容.mp4
126_第14.07-发送IP数据报.mp4
127_第14.08-增加IP包发送检验和计算.mp4
128_第15.00-ICMP协议简介.mp4
129_第15.01-ICMP模块初始化.mp4
12_第03.02-接受数据包修改并发回.mp4
130_第15.02-ICMP输入处理.mp4
131_第15.03-响应ping请求.mp4
132_第15.04-用IP包更新ARP表.mp4
133_第15.05-报告端口不可达.mp4
134_第16.00-IP分片与重组介绍.mp4
135_第16.01-分片与重组的初始化.mp4
136_第16.02-分片结构的分配与释放.mp4
137_第16.03-分片的查找与添加.mp4
138_第16.04-显示分片列表.mp4
139_第16.05-插入分片.mp4
13_第03.03-创建线程(1).mp4
140_第16.06-数据报分片的重组.mp4
141_第16.07-数据报分片发送.mp4
142_第16.08-分片超时处理.mp4
143_第16.09-校验和算法的调整.mp4
144_第17.00-ping程序实现原理.mp4
145_第17.01-添加ping结构与接口.mp4
146_第17.02-实现ping的发送及响应.mp4
147_第17.03-实现ping的响应结果输出.mp4
148_第17.04-增加超时和命令行调用.mp4
149_第18.00-socket接口设计结构简介.mp4
14_第03.03-创建线程(2).mp4
150_第18.01-请求核心工作线程执行功能函数.mp4
151_第18.02-发送消息请求执行功能.mp4
152_第18.03-定义自己的地址转换函数接口.mp4
153_第18.04-实现自己的地址转换函数.mp4
154_第18.05-定义socket接口.mp4
155_第18.06-分配socket结构.mp4
156_第18.07-发消息给工作线程分配socket结构.mp4
157_第18.08-sock结构定义及初始化.mp4
158_第18.09-建立RAW结构.mp4
159_第18.10-创建raw结构块.mp4
15_第03.04-利用计数信号量同步线程.mp4
160_第18.11-初始化数据发送接口.mp4
161_第18.12-将数据包发送出去.mp4
162_第18.13-初始化数据包接收.mp4
163_第18.14-添加sock等待接口.mp4
164_第18.15-实现各种等待接口.mp4
165_第18.16-初始化sock等待结构.mp4
166_第18.17-让接收能够等待.mp4
167_第18.18-添加超时设置接口.mp4
168_第18.19-开启读取超时.mp4
169_第18.20-IP数据包输入处理.mp4
16_第03.05-线程间的资源访问控制.mp4
170_第18.21-实现对ping的响应.mp4
171_第18.22-添加close接口.mp4
172_第18.23-实现raw接口的关闭.mp4
173_第19.00-访问外部网络的原理.mp4
174_第19.01-设计基础的路由表结构.mp4
175_第19.03-删除路由.mp4
176_第19.02-添加路由表项.mp4
177_第19.04-设置缺省路由.mp4
178_第19.05-从路由表中找到合适的表项.mp4
179_第19.06-通过路由器将数据包发往外部.mp4
17_第03.06-线程间的资源访问控制实例(1)--循环缓存.mp4
180_第20.00-UDP协议简介.mp4
181_第20.01-创建UDP客户端.mp4
182_第20.02-创建UDP回显服务器.mp4
183_第20.03-UDP模块初始化.mp4
184_第20.04-创建UDP套接字.mp4
185_第20.05-UDP数据的发送处理.mp4
186_第20.06-动态分配端口.mp4
187_第20.07-实现UDP数据的发送.mp4
188_第20.08-计算伪校验和.mp4
189_第20.09-UDP输入的处理(1).mp4
18_第03.07-线程间的资源访问控制实例(2)--控制读速率.mp4
190_第20.10-UDP输入的处理(2).mp4
191_第20.11-UDP数据读取的实现.mp4
192_第20.12-关闭UDP套接字.mp4
193_第20.13-增加connect接口(1).mp4
194_第20.13-增加connect接口(2).mp4
195_第20.13-增加connect接口(3).mp4
196_第20.14-增加send接口(1).mp4
197_第20.14-增加send接口(2).mp4
198_第20.17-增加recv接口(1).mp4
199_第20.18-增加recv接口(2).mp4
19_第03.08-线程间的资源访问控制实例(3)--控制写速率.mp4
200_第20.19-增加bind接口(1).mp4
201_第20.20-增加bind接口(2).mp4
202_第20.21-让原始套接字支持connectrecvsend.mp4
203_第20.22-UDP协议设计总结.mp4
204_第21.00-TCP协议课程规划.mp4
205_第21.00-TCP连接管理简介.mp4
206_第21.01-TCP协议初始化.mp4
207_第21.02-创建TCP套接字.mp4
208_第21.03-接收输入的TCP包.mp4
209_第21.04-发送reset复位包(1).mp4
20_第03.09-利用套接字设计客户机(1).mp4
210_第21.04-发送reset复位包(2).mp4
211_第21.05-几个TCP调试函数.mp4
212_第21.06-增加connectclose回调函数.mp4
213_第21.07-分配端口及检查连接的存在性.mp4
214_第21.08-添加connect等待结构.mp4
215_第21.09-收发窗口及序号初始化.mp4
216_第21.10-发送SYN报文.mp4
217_第21.11-设置TCP状态.mp4
218_第21.12-寻找合适的TCP控制块.mp4
219_第21.13-添加输入状态处理函数.mp4
21_第03.09-利用套接字设计客户机(2).mp4
220_第21.14-响应SYN_ACK报文(1)-终止连接.mp4
221_第21.14-响应SYN_ACK报文(2)-更新序号值.mp4
222_第21.15-从SYN_SENT进入ESTABLISHED.mp4
223_第21.16-从ESTABLISHED进入CLOSE-WAIT.mp4
224_第21.17-从CLOSE_WAIT进入LAST_ACK.mp4
225_第21.18-从LAST_ACK进入CLOSED.mp4
226_第21.19-主动close进入FIN_WAIT_2.mp4
227_第21.20-从FIN_WAIT_2进入TIME_WAIT.mp4
228_第21.21-TIME_WAIT输入处理.mp4
229_第21.22-同时关闭,进入CLOSING(1).mp4
22_第03.10-利用套接字设计服务器.mp4
230_第21.22-同时关闭,进入CLOSING(2).mp4
231_第21.23-CLOSED状态处理及连接总结.mp4
232_第22.00-TCP数据发送介绍.mp4
233_第22.01-初始化发送缓存.mp4
234_第22.02-添加TCP发送的支持.mp4
235_第22.03-将数据写入发送缓存.mp4
236_第22.04-将部分数据发送出去.mp4
237_第22.05-发送全部数据到对方.mp4
238_第22.06-读取TCP选项(MSS).mp4
239_第22.07-TCP数据分段发送.mp4
23_第03.11-TCPIP体系结构简介.mp4
240_第22.08-TCP数据发送总结(1).mp4
241_第22.08-TCP数据发送总结(2).mp4
242_第22.09-添加接收缓存及接收介绍.mp4
243_第22.10-添加下载测试代码.mp4
244_第22.11-增加TCP读取函数.mp4
245_第22.12-往接收缓存中写数据.mp4
246_第22.13-将数据包中的数据写入缓存.mp4
247_第22.14-从接收缓存读取数据(1).mp4
248_第22.14-从接收缓存读取数据(2).mp4
249_第22.15-半关闭时接收返回EOF.mp4
24_第04.00-整体软件结构设计.mp4
250_第22.15-半关闭时接收返回EOF.mp4
251_第22.16-连接时写入选项MSS.mp4
252_第22.17-通知对方自己的接收窗口大小.mp4
253_第22.18-检查序号的正确性(1).mp4
254_第22.18-检查序号的正确性(2).mp4
255_第22.19-FIN与数据处理的先后顺序.mp4
256_第22.20-TCP数据通信总结.mp4
257_第23.00-TCP保活机制简介.mp4
258_第23.01-保活机制的具体功能演示.mp4
259_第23.02-添加setsockopt函数支持.mp4
25_第04.01-协议栈的初始化.mp4
260_第23.03-定义保活机制相关的变量.mp4
261_第23.04-增加超时处理.mp4
262_第23.05-发送keepalive报文.mp4
263_第24.00-被动打开与服务器运行.mp4
264_第24.01-增加bind_listen_accept调用支持.mp4
265_第24.02-处理listen和accept回调.mp4
266_第24.03-实现tcp的bind调用.mp4
267_第24.04-实现tcp的listen调用.mp4
268_第24.05-实现tcp的accept调用.mp4
269_第24.06-实现tcp_accept.mp4
26_第04.02-添加核心工作线程.mp4
270_第24.07-listen状态下的输入处理(1).mp4
271_第24.07-listen状态下的输入处理(2).mp4
272_第24.08-syn_recved状态下输入处理.mp4
273_第24.09-强制关闭tcp连接.mp4
274_第24.10-tcp的timewait状态处理.mp4
275_第24.11-一些修修补补.mp4
276_第24.12-TCP补动打开总结.mp4
277_第25.00-DNS协议及接口简介.mp4
278_第25.01-添加gethostbyname接口.mp4
279_第25.02-实现gethostbyname(1).mp4
27_第04.03-创建数据包收发线程.mp4
280_第25.02-实现gethostbyname(2).mp4
281_第25.03-DNS模块初始化.mp4
282_第25.04-允许解析localhost和IP地址.mp4
283_第25.05-允许解析域名地址.mp4
284_第25.06-构造DNS请求包(1).mp4
285_第25.07-构造DNS请求包(2).mp4
286_第25.08-获取DNS响应输入.mp4
287_第25.09-添加请求id的处理.mp4
288_第25.10-响应的基本检查.mp4
289_第25.11-提取IP地址.mp4
28_第05.01-基本调试信息输出.mp4
290_第25.12-通知应用与列表显示.mp4
291_第25.13-初始化缓存表.mp4
292_第25.14-缓存表的插入、删除与查找.mp4
293_第25.15-刷新DNS缓存表.mp4
294_第25.16-多次重试DNS请求.mp4
295_第25.17-DNS程序设计上的一个问题.mp4
296_第25.18-DNS设计总结.mp4
297_第26.00-TCP超时重传处理简介.mp4
298_第26.01-增加重传相关数据.mp4
299_第26.02-TCP输出状态机简介.mp4
29_第05.02-给调试输出增加颜色.mp4
300_第26.03-添加不同输出状态下的事件处理函数.mp4
301_第26.04-添加连接SYN的重传超时处理.mp4
302_第26.05-实现SYN的重传.mp4
303_第26.07-继续发送缓存中的数据.mp4
304_第26.07-实现TCP数据的重传.mp4
305_第26.08-TCP协议实现总结.mp4
306_第27.00-移植到x86操作系统.mp4
307_第27.01-移植到x86操作系统演示.mp4
308_第27.02-windows网络环境搭建.mp4
309_第27.03-在操作系统中加入工程源码.mp4
30_第05.03-按不同等级输出信息.mp4
310_第27.04-操作系统接口.mp4
311_第27.05-网络初始化.mp4
312_第27.06-增加系统调用.mp4
313_第27.07-调整内存布局.mp4
314_第27.08-RTL8139驱动实现.mp4
315_第27.09-中断锁的处理.mp4
316_第28.00-移植到STM32统简介.mp4
317_第28.01-STM32F4移植运行效果演示.mp4
318_第28.02-Keil工程源码组织分析.mp4
319_第28.03-利用RTOS提供的操作系统接口.mp4
31_第05.04增加assert断言.mp4
320_第28.04-网络初始化.mp4
321_第28.05-STM32网卡驱动处理.mp4
32_第06.00-通用链表简介.mp4
33_第06.01-创建结点结构.mp4
34_第06.02-创建链表结构.mp4
35_第06.03-头部插入结点.mp4
36_第06.04-遍历链表.mp4
37_第06.05-删除头部结点.mp4
38_第06.06尾部插入结点.mp4
39_第06.07-插入到指定结点之后.mp4
40_第07.00-协议栈中的存储管理问题.mp4
41_第07.01-创建内存块管理器结构.mp4
42_第07.02-添加锁结构.mp4
43_第07.03-建立内存块链.mp4
44_第07.04-分配内存块.mp4
45_第07.05-释放内存块.mp4
46_第08.00-定长消息队列简介.mp4
47_第08.01-创建定长消息队列结构.mp4
48_第08.02-初始化核心线程的消息通信.mp4
49_第08.03-向工作线程发送消息.mp4
50_第08.04接受网卡线程发来的消息.mp4
51_第08.05-销毁消息队列.mp4
52_第09.00-数据包结构设计简介.mp4
53_第09.01-添加数据包结构.mp4
54_第09.02-分配块链.mp4
55_第09.03-分配指定大小的数据包.mp4
56_第09.04-显示数据包信息.mp4
57_第09.05-释放数据包.mp4
58_第09.06-添加连续包头.mp4
59_第09.07-移除包头.mp4
60_第09.08-添加非连续包头.mp4
61_第09.09-调整包大小(1)---包的扩大.mp4
62_第09.09-调整包大小(2)---包的扩大.mp4
63_第09.10-合并两个包.mp4
64_第09.11-调整包头的连续性.mp4
65_第09.12-增加包访问功能.mp4
66_第09.13-写数据包.mp4
67_第09.14-读数据包.mp4
68_第09.15-定位数据包.mp4
69_第09.16-数据包的拷贝.mp4
70_第09.17-填充数据包.mp4
71_第09.18-增加其它支持函数.mp4
72_第10.00-网络接口的设计规划.mp4
73_第10.01-添加网络接口结构.mp4
74_第10.02-初始化网络接口层.mp4
75_第10.03-打开网络接口.mp4
76_第10.04-添加环回接口.mp4
77_第10.05-将地址串转换为IP地址.mp4
78_第10.06-设置网络接口的地址.mp4
79_第10.07-激活环回接口.mp4
80_第10.08-显示网络接口列表.mp4
81_第10.09-关闭和设置缺省的网络接口.mp4
82_第10.10-增加数据包队列的写入和读取.mp4
83_第10.11-添加数据包发送接口.mp4
84_第11.00-以太网协议设计简介.mp4
85_第11.01-打开物理网络接口.mp4
86_第11.02-接收数据并发给工作线程.mp4
87_第11.03-将数据通过网络接口发出去.mp4
88_第11.04-添加链路层接口.mp4
89_第11.05-添加以太网接口.mp4
90_第11.06-添加以太网包结构定义.mp4
91_第11.07-网络大小端转换(1)-原理介绍.mp4
92_第11.07-网络大小端转换(2)--转换接口.mp4
93_第11.07-网络大小端转换(3)--检查大小端.mp4
94_第11.08-以太网输入包的处理.mp4
95_第11.09-显示以太网包结构.mp4
96_第11.10-输出以太网数据包.mp4
97_第12.00-定时器设计简介.mp4
98_第12.01-添加定时器结构.mp4
99_第12.02-增加定时器测试代码.mp4
Copyright © All rights reserved.
信息加载中,请等待...