先判断:这门课值不值得花时间

很多做后端的人,业务代码写得熟,但一遇到底层网络层的问题就容易卡壳。比如服务器为什么有大量 TIME_WAIT,为什么抓包看到的数据和程序里 recv 到的对不上,或者想自己写个服务却不知道怎么处理并发连接。这门基于 C 语言的计算机网络编程资料,解决的就是“知其然而不知其所以然”的问题。它不是教你如何快速用框架搭接口,而是带你回到 socket 本身,搞懂 TCP、UDP 在操作系统层面是怎么交互的。如果你平时只写纯业务逻辑,暂时不碰底层,那这门课对你当下的产出提升不大;但如果你想往基础架构方向走,或者经常需要排查网络层面的疑难杂症,这套资料很值得拿出来系统过一遍。

基础门槛与资料使用建议

这套资料不适合完全零基础的人。你需要对 C 语言的基本语法、指针和结构体有概念,否则看代码会非常吃力。建议拿到资料后,不要从头顺着视频一节节看,而是优先挑几个核心模块入手:第一是 TCP 通信的建立过程,重点看服务端必备条件以及 accept、listen 这些函数背后的机制;第二是 HTTP 协议在底层是怎么通过套接字收发的。这两块搞明白,你就能把日常的 Web 开发和底层网络打通。资料里附带了源码,看视频时一定要把代码跑起来,自己改改参数,比如把监听队列改小,或者故意不正确地关闭套接字,观察报错现象,这种折腾比单纯看视频有效得多。

学完能独立做什么

把这套资料的核心内容消化后,你能够独立写出基于 C 的底层网络通信程序。具体来说,你可以从零搭建一个能处理并发连接的 TCP 服务端,理解三次握手和四次挥手在代码里的对应操作,知道 recv 和 send 失败时该怎么处理。同时,面对 UDP 这种无连接的通信,你也能清楚它的适用场景并写出对应的收发程序。更重要的是,学完之后你具备了排查底层网络问题的能力,再遇到服务不通或者数据粘包,你能直接从系统调用层面去分析,而不是只会停留在应用层瞎猜。对于转行做后端的人来说,这部分底子打牢了,后续去学其他语言的网络框架也会轻松很多。

课程目录

课程目录139 集
  • 📁 第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] 网络编程 源码+笔记+课件.7z [63.8 MB] 适合人群 C语言基础学习者 网络编程爱好者 后端开发工程师 学习收获 掌握TCP、UDP编程 了解网络协议 提升网络编程能力 祝您学习愉快! 学有所成,前程似锦!