这门课到底讲什么
市面上的网络编程课,常见的两种走法:一种是纯讲协议理论,OSI 七层模型背得滚瓜烂熟,真到写代码时还是不知道 socket 该在哪一步创建;另一种是直接甩一段能跑通的客户端服务器代码,照着敲完能出结果,但换个场景就懵了。这套基于 C 语言的计算机网络编程教程,走的是中间路线——把协议栈的知识点落到具体的函数调用上,让你知道每个 API 背后对应的是协议里的哪个动作。
它的主线是 TCP/IP 协议栈,重点落在 TCP 网络编程这一块。从套接字的创建、绑定、监听,到连接的建立和关闭,基本是按一条完整的通信链路往下走的。
它解决哪些实际工作场景
如果你在工作中遇到过这些问题,这门课的内容是对得上的:
- 需要自己写一个 TCP 服务端或客户端,但只会在网上找示例代码改改,不清楚每个参数为什么这么填;
- 程序跑起来连不上、连上又断、数据收不全,排查时不知道从协议层面看哪个环节出了问题;
- 面试被问到三次握手、四次挥手,能背出来但说不清对应到代码里是哪几个函数在起作用;
- 想往网络中间件、后端服务、嵌入式网络通信这些方向走,需要把 C 语言的网络编程能力补扎实。
课程里对 listen、accept、recv 这些关键函数的讲解是逐个拆开的,配合源码来看,能帮你把「函数调用」和「协议状态变化」这两件事对应起来。后面还涉及 HTTP 协议的内容,算是把应用层和传输层的衔接也点了一下。
学完能独立做什么
按课程覆盖的范围,学完之后你应该能独立完成这些事:用 C 语言写一个能处理多连接的 TCP 服务端,理解阻塞和非阻塞场景下 accept、recv 的行为差异;能自己分析一个连接从建立到关闭的完整过程,知道四次挥手时双方各自处于什么状态;遇到连接异常时,能从协议交互的角度判断问题大概出在哪一步,而不是只靠打印日志猜。带源码课件这一点比较实在,函数的行为光看文字容易含糊,对着代码跑一遍会清楚很多。
适合什么基础的人学
需要说清楚的是,这门课不适合零基础。你得先会 C 语言的基本语法,指针、结构体、内存操作这些要能看懂,不然源码部分会比较吃力。同时最好对计算机网络有个最粗浅的印象,知道 IP 和端口大概是什么,完全没接触过的话,前面协议栈的部分会跟得比较累。
如果你已经有了一两年开发经验,想系统补一下网络编程这块的短板,或者正在准备相关方向的面试,这套资料的密度和深度是比较合适的。但如果你连 C 语言都还没写过,建议先把语言基础打牢再回来。
怎么用这套资料
建议不要一上来就顺着视频从头看到尾。可以先挑 TCP 网络编程那部分,跟着把服务端和客户端的代码自己敲一遍,跑通之后再回头看协议讲解,这样抽象的概念会有落脚点。函数逐个讲解的部分适合当工具用,哪个 API 不熟就单独看哪一段。源码课件放在手边,遇到看不懂的行为直接翻代码对照。整套资料偏向实践,看一遍不动手的话,效果会打不少折扣。
课程目录
📁 第4章_TCP网络编程 📁 📁 视频 视频必看.zip [1.8 MB] 4. 05 recv函数.wmv [3.0 MB] 4. 09 listen函数.wmv [3.0 MB] 4. 10 accept函数.wmv [18.4 MB] 4. 12 close关闭套接字.wmv [5.1 MB] 4. 07 做为TCP服务器需要具备的条件.wmv [4.2 MB] 4. 19 HTTP协议.wmv [4.5 MB] 4. 14 四次挥手.wmv [4.3 MB] 4. 18 web服务器简介.wmv [3.6 MB] 4. 02 TCP编程-socket.wmv [10.7 MB] 4. 20 Webserver通信过程.wmv [3.9 MB] 4. 08 bind函数.wmv [4.3 MB] 4. 16 多进程实现并发.wmv [28.8 MB] 4. 03 connect函数.wmv [3.9 MB] 4. 01 TCP介绍、编程流程.wmv [22.3 MB] 4.21 web编程开发.mp4 [146.4 MB] 4. 17 多线程实现并发.wmv [16.5 MB] 4. 11 TCP服务器例子.wmv [39.8 MB] 4. 04 send函数.wmv [4.3 MB] 4. 15 TCP原本不是并发服务器的原因.wmv [28.6 MB] 4. 06 客户端code.wmv [32.8 MB] 4. 13 三次握手.wmv [5.4 MB] 第4章_TCP网络编程必看.zip [1.8 MB] 📁 第6章_原始套接字 📁 📁 视频 视频必看.png [493.5 KB] 6. 17 用sendto发送原始套接字数据.wmv [3.7 MB] 6. 09 Ethernet封包格式.wmv [9.2 MB] 6. 19 发送数据demo.wmv [7.1 MB] 6. 07 UDP封包格式.wmv [10.1 MB] 6.22 在linux与windows系统下查看ARP表的方式.wmv [16.6 MB] 6. 21 ARP概述.wmv [7.9 MB] 6. 10 TCP封包格式.wmv [39.2 MB] 6. 23 ARP协议格式.wmv [8.3 MB] 6. 11 ICMP封包格式.wmv [2.9 MB] 6. 04 创建原始套接字.wmv [3.8 MB] 6. 03 原始套接字概述.wmv [10.3 MB] 6. 18 本机网络接口.wmv [5.7 MB] 6. 02 TCP编程回顾.wmv [7.7 MB] 6. 01 UDP编程回顾.wmv [19.9 MB] 6. 24 向指定IP发送ARP请求(demo).wmv [29.6 MB] 6. 15 IP数据解析图.wmv [10.9 MB] 6. 14 ARP数据解析图.wmv [7.8 MB] 6. 08 IP封包格式.wmv [41.5 MB] 6. 13 网络数据分析图.wmv [10.1 MB] 6. 05 创建链路层的原始套接字.wmv [13.7 MB] 6. 16 代码讲解以及混杂模式.wmv [39.7 MB] 6. 12 编程实例—分析MAC数据包.wmv [14.2 MB] 6. 20 通过ioctl来获取网络接口地址.wmv [10.9 MB] 6. 06 组装、拆解udp数据包流程.wmv [10.9 MB] 第6章_原始套接字文档.zip [1.8 MB] 📁 第2章_UDP编程 📁 📁 视频 视频说明.zip [1.8 MB] 2. 01 字节序概述.wmv [24.4 MB] 2. 15 接收数据—recvfrom 函数.wmv [6.5 MB] 2.09 IPv4套接字地址结构.wmv [16.6 MB] 2. 17 CS架构回顾.wmv [6.4 MB] 2. 11 发送数据—sendto函数.wmv [6.5 MB] 2. 02 字节序转换函数.wmv [18.5 MB] 2. 19 UDP服务器注意点.wmv [15.4 MB] 2. 06 UDP编程CS架构.wmv [11.6 MB] 2. 04 UDP概述.wmv [5.3 MB] 2. 07 创建socket套接字.wmv [8.0 MB] 2. 14 bind示例.wmv [19.6 MB] 2. 10 两种地址结构使用场合.wmv [2.5 MB] 2. 08 创建UDP套接字demo.wmv [13.0 MB] 2. 16 接收“网络调试助手”的数据.wmv [32.3 MB] 2. 18 UDP客户端注意点.wmv [13.8 MB] 2. 13 绑定--bind函数.wmv [13.4 MB] 2. 12 向“网络调试助手”发送消息.wmv [61.0 MB] 2. 05 网络编程接口socket.wmv [9.2 MB] 2. 03 地址转换函数.wmv [37.9 MB] 第2章_UDP编程必看.png [493.5 KB] 📁 第1章_计算机网络概述 📁 📁 视频 视频资料.png [493.5 KB] 1. 11 链路层封包格式.wmv [9.5 MB] 1. 01 计算机网络发展简史.wmv [51.6 MB] 1. 08 子网掩码.wmv [9.4 MB] 1. 05 UDP协议简介.wmv [6.1 MB] 1. 02 协议分层结构.wmv [34.8 MB] 1. 07 ip地址.wmv [55.6 MB] 1. 03 IP协议简介.wmv [7.4 MB] 1. 12 网络层、传输层封包格式.wmv [7.8 MB] 1. 09 端口.wmv [15.5 MB] 1. 04 TCP协议简介.wmv [9.0 MB] 1. 10 数据包在各个层之间的传输.wmv [10.9 MB] 1. 13 网络应用程序开发流程.wmv [19.4 MB] 1. 06 mac地址.wmv [26.7 MB] 第1章_计算机网络概述说明.png [493.5 KB] 📁 第3章_UDP编程-TFTP、广播、多播 📁 📁 视频 视频说明.zip [1.8 MB] 3. 11 多播工作过程.wmv [7.6 MB] 3. 01 TFTP概述.wmv [8.7 MB] 3. 10 多播的概念.wmv [9.8 MB] 3. 05 广播的概念.wmv [13.7 MB] 3. 15 加入多播组示例.wmv [15.5 MB] 3. 02 TFTP通信过程.wmv [14.3 MB] 3. 07 广播流程.wmv [4.2 MB] 3. 06 广播与单播的对比.wmv [14.9 MB] 3. 14 多播套接口选项.wmv [4.0 MB] 3. 04 练习—TFTP客户端.wmv [53.5 MB] 3. 13 多播地址结构体.wmv [3.8 MB] 3. 03 TFTP协议分析.wmv [17.7 MB] 3. 12 多播流程.wmv [3.4 MB] 3. 08 套接字选项.wmv [5.7 MB] 3. 09 广播示例.wmv [18.0 MB] 第3章_UDP编程-TFTP、广播、多播说明.zip [1.8 MB] 📁 第7章_BS开发 📁 📁 视频 视频文档.png [493.5 KB] 7. 10 标题标签和文字标签.wmv [29.8 MB] 7. 25 全局函数.wmv [2.3 MB] 7. 24 其他对象.wmv [13.5 MB] 7. 21 内部对象(Date对象).wmv [31.2 MB] 7. 01 常见的Web技术.wmv [28.0 MB] 7. 02 嵌入式web开发模型.wmv [5.7 MB] 7. 11 超链接标签.wmv [17.8 MB] 7. 23 内部对象(String类 对象).wmv [25.9 MB] 7. 13 表单标签.wmv [29.3 MB] 7. 16 js编程概述.wmv [4.1 MB] 7. 05 boa web服务器移植.wmv [56.1 MB] 7.30 标准的XMLHttpRequest方法以及案例讲解.wmv [27.6 MB] 7. 07 HTML语法.wmv [8.0 MB] 7. 20 文本对象(Document对象).wmv [13.0 MB] 7. 28 根据不同的浏览器创建异步请求对象.wmv [6.0 MB] 7. 04 Web原理.wmv [2.4 MB] 7. 17 js保留关键字(全部用小写).wmv [4.0 MB] 7. 18 js变量、数据类型、控制语句和函数.wmv [30.0 MB] 7. 15 网页使用js脚本的三种方式.wmv [28.8 MB] 7.36 案例3:以post形式发送请求.wmv [16.4 MB] 7.35 案例2:以get形式发送请求.wmv [22.7 MB] 7. 33 CGI编程.wmv [14.2 MB] 7.34 案例1:测试cgi.wmv [10.6 MB] 7. 08 html头部、主体和标题标记.wmv [22.1 MB] 7. 29 标准的XMLHttpRequest属性.wmv [15.0 MB] 7. 09 元信息标记.wmv [24.6 MB] 7. 06 什么是HTML.wmv [5.3 MB] 7. 14 什么是 Javascript.wmv [2.6 MB] 7. 32 CGI处理步骤.wmv [2.1 MB] 7. 27 AJAX原理.wmv [9.3 MB] 7. 12 表格标签.wmv [16.2 MB] 7. 22 内部对象(Math对象).wmv [19.5 MB] 7. 03 BS架构.wmv [12.6 MB] 7. 26 AJAX概述.wmv [17.5 MB] 7. 31 什么是CGI.wmv [6.0 MB] 7. 19 浏览器对象(window对象).wmv [16.8 MB] 第7章_BS开发资料.zip [1.8 MB] 📁 第5章_网络通信过程 📁 📁 视频 视频说明.zip [1.8 MB] 5. 05 路由器介绍.wmv [7.6 MB] 5. 03 交换机功能.wmv [3.5 MB] 5. 04 使用交换机实现主机之间的通信.wmv [47.9 MB] 5. 02 交换机介绍.wmv [2.9 MB] 5. 06 使用路由器实现不同网段主机之间通信.wmv [71.9 MB] 5. 01 网络通信概述.wmv [11.4 MB] 5. 07 通信过程(浏览器跨网访问Web服务器).wmv [15.3 MB] 第5章_网络通信过程说明.zip [1.8 MB] 适合人群 网络编程爱好者 后端开发工程师 计算机专业学生 学习收获 掌握TCP/IP协议栈 提升网络编程能力 深入理解网络编程原理 祝您学习愉快! 学有所成,前程似锦!



![大疆维修,无人机维修教程[66.30GB]](/_next/image?url=%2Fapi%2Fuploads%2Fb6a69810-862f-479c-a529-d66880073ebc.jpg&w=1920&q=75)


