这门课解决什么工作场景

很多做后端开发或运维的上班族,平时写业务代码或部署服务看似挺顺,可一旦遇到网络层面的问题,比如连接超时、端口冲突、数据粘包,往往就只能靠搜网页拼凑答案。这门课聚焦的就是 Linux 环境下的网络通信底层逻辑。它不教你写高并发框架,而是帮你弄明白两台机器之间到底是怎么通过协议收发数据的,以及怎么用套接字把这套机制在代码层面实现出来。如果你在做一些底层中间件、服务端通信模块,或者想从纯应用层开发往下摸一摸系统底座,这门课能帮你把这块底层的空白补上。

适合什么基础与建议先看哪几块

这套资料不适合零基础转码的人,它默认你已经能熟练使用 Linux 常用命令,并且具备 C 或 C++ 的基本语法阅读能力。如果你只是写过几行 Python 脚本,看套接字和字节序的章节会觉得吃力。建议在开始时先看环境搭建和课后练习代码说明,把本地的编译环境跑通,别直接去啃协议理论。随后重点先看协议分层与 IP 协议这两块,把数据包是怎么被封装和寻址的逻辑理清,再进入套接字地址和字节序的内容。这部分是理解后续网络通信的基石,字节序这块尤其要结合代码看,弄懂主机序和网络序的转换,否则后续写跨平台通信代码会一直踩坑。

学完能独立做什么与资料怎么配合练习

学完之后,你应该能独立写出一个基本的 Linux 服务端和客户端通信程序,能处理多连接的数据收发,并且能看懂系统层面的网络抓包结果。遇到服务连不上、数据丢包或者乱序的情况,能结合 TCP/IP 分层模型去定位问题出在哪一层,而不是盲目重启进程。资料包里的视频和练习代码需要配合使用,不要只看不练。建议的节奏是看完一个协议或套接字概念的视频,就立刻打开配套的文本练习代码,自己在终端里编译运行,改改参数看输出有什么变化。网络编程是一门手艺活,光听懂分层模型和自己把套接字跑通是两回事,必须动手敲代码验证,才能真正把这套知识变成你自己的排查能力。


课程定时更新,帮助学员从基础开始,一步步成为网络编程高手。

课程目录

*   01 课前准备/

  *   01 课程介绍.mp4 (55.10 MB), 11:02

  *   02 学习环境搭建.mp4 (31.20 MB), 06:21

  *   03 图解Linux网络编程_课后练习代码.txt (0.00 MB)

*   02 TCPIP协议/

  *   01 TCP_IP分层模型.mp4 (115.35 MB), 18:49

  *   02 计算机网络性能指标.mp4 (122.72 MB), 19:14

  *   03 以太网协议.mp4 (69.63 MB), 11:00

  *   04 IP协议.mp4 (152.88 MB), 23:44

  *   05 IP地址介绍.mp4 (103.30 MB), 16:48

*   03 套接字编程基础/

  *   01 套接字地址.mp4 (184.20 MB), 28:36

  *   02 字节序.mp4 (153.17 MB), 25:39

  *   03 字节序转换.mp4 (132.08 MB), 19:24

  *   04 IP地址转换.mp4 (217.72 MB), 35:47

  *   05 套接字核心函数.mp4 (105.91 MB), 17:41

  *   06 套接字发送函数系列.mp4 (95.93 MB), 15:07

  *   07 套接字接收函数系列.mp4 (74.08 MB), 11:49

*   04 AF_INET套接字/

  *   01 AF_INET套接字编程基础.mp4 (83.33 MB), 13:45

  *   02 TCP网络编程基础.mp4 (171.25 MB), 27:06

  *   03 UDP网络编程基础.mp4 (177.42 MB), 28:03

  *   04 UDP网络编程基础_accept编程模型.mp4 (73.77 MB), 12:03

  *   05 UDP网络编程基础_5种发送和接收方式.mp4 (178.26 MB), 28:38

  *   06 UDP可靠性编程.mp4 (250.94 MB), 36:58

*   05 IO多路复用/

  *   01 IO模型.mp4 (127.75 MB), 24:14

  *   02 IO多路复用之select_理论.mp4 (137.97 MB), 23:15

  *   03 IO多路复用之select_TCP服务端.mp4 (221.80 MB), 34:34

  *   04 IO多路复用之select_UDP服务端.mp4 (253.80 MB), 38:07

  *   05 IO多路复用之poll_理论.mp4 (121.90 MB), 20:04

  *   06 IO多路复用之poll_TCP服务端.mp4 (252.33 MB), 39:56

  *   07 IO多路复用之epoll_理论.mp4 (257.76 MB), 42:36

  *   08 IO多路复用之epoll_TCP服务端.mp4 (313.71 MB), 49:42

*   06 服务器模型/

  *   01 循环服务器_UDP服务器.mp4 (183.97 MB), 27:33

  *   02 循环服务器_TCP服务器.mp4 (63.67 MB), 10:04

  *   03 多进程并发服务器_UDP服务器.mp4 (113.39 MB), 17:11

  *   04 多进程并发服务器_TCP服务器.mp4 (115.77 MB), 18:30

  *   05 多线程并发服务器_UDP服务器.mp4 (91.44 MB), 13:53

  *   06 多线程并发服务器_TCP服务器.mp4 (88.19 MB), 14:21

*   07 原始套接字/

  *   01 网络层原始套接字.mp4 (134.66 MB), 21:35

  *   02 数据链路层原始套接字.mp4 (138.56 MB), 22:15

  *   03 ARP协议.mp4 (93.03 MB), 14:46

  *   04 ARP组包_理论.mp4 (103.08 MB), 15:32

  *   05 ARP组包_实践.mp4 (229.32 MB), 34:43

  *   06 IP组包.mp4 (159.67 MB), 25:11

  *   07 ICMP协议.mp4 (62.95 MB), 09:30

  *   08 ICMP组包_理论.mp4 (57.37 MB), 09:17

  *   09 ICMP组包_数据链路层原始套接字ICMP组包.mp4 (259.20 MB), 44:09

  *   10 ICMP组包_网络层原始套接字ICMP组包.mp4 (103.19 MB), 16:32

  *   11 UDP协议.mp4 (67.03 MB), 10:53

  *   12 UDP组包_理论.mp4 (57.16 MB), 09:08

  *   13 UDP组包_数据链路层原始套接字UDP组包.mp4 (181.91 MB), 30:23

  *   14 UDP组包_网络层原始套接字UDP组包.mp4 (114.01 MB), 18:03

*   08 域套接字/

  *   01 域套接字_简介.mp4 (45.79 MB), 07:12

  *   02 域套接字_SOCK_STREAM编程模型_理论.mp4 (70.91 MB), 10:49

  *   03 域套接字_SOCK_STREAM编程模型_实践.mp4 (105.35 MB), 16:37

  *   04 域套接字_SOCK_DGRAM编程模型_理论.mp4 (31.91 MB), 05:17

  *   05 域套接字_SOCK_DGRAM编程模型_实践.mp4 (107.99 MB), 17:38

  *   06 域套接字_socketpair_理论.mp4 (60.95 MB), 09:18

  *   07 域套接字_socketpair_实践.mp4 (56.87 MB), 09:06

*   09 套接字选项/

  *   01 套接字选项_概述.mp4 (56.94 MB), 09:29

  *   02 套接字选项_SO_SNDBUF和SO_RCVBUF_理论.mp4 (149.27 MB), 23:26

  *   03 套接字选项_SO_SNDBUF和SO_RCVBUF_实践.mp4 (130.32 MB), 21:38

  *   04 套接字选项_SO_LINGER_理论.mp4 (62.72 MB), 09:59

  *   05 套接字选项_SO_LINGER_实践.mp4 (79.68 MB), 12:23

  *   06 套接字选项_KEEPALIVE_理论.mp4 (85.10 MB), 13:33

  *   07 套接字选项_KEEPALIVE_实践.mp4 (84.35 MB), 13:31

  *   08 套接字选项_SO_REUSEADDR和SO_REUSEPORT_理论.mp4 (36.11 MB), 06:28

  *   09 套接字选项_SO_REUSEADDR和SO_REUSEPORT_实践.mp4 (58.55 MB), 09:31

*   10 ioctl函数和fcntl函数/

  *   01 ioctl函数_概述.mp4 (53.32 MB), 08:21

  *   02 ioctl函数_socket相关.mp4 (21.72 MB), 03:24

  *   03 ioctl函数_文件相关.mp4 (23.44 MB), 03:39

  *   04 ioctl函数_ 路由_理论.mp4 (36.00 MB), 05:38

  *   05 ioctl函数_ 路由_实践.mp4 (75.59 MB), 11:41

  *   06 ioctl函数_网络接口相关_理论.mp4 (63.00 MB), 09:39

  *   07 ioctl函数_网络接口相关_实践.mp4 (164.07 MB), 25:39

  *   08 fcntl函数_理论.mp4 (69.36 MB), 10:44

  *   09 fcntl函数_实践.mp4 (115.10 MB), 18:13

*   11 组播/

  *   01 组播简介.mp4 (117.80 MB), 17:57

  *   02 IGMP协议.mp4 (100.52 MB), 15:14

  *   03 UDP组播编程_理论.mp4 (45.37 MB), 07:08

  *   04 UDP组播编程_实践.mp4 (142.90 MB), 22:29

*   12 广播/

  *   01 广播简介.mp4 (36.91 MB), 05:32

  *   02 Linux广播编程_理论.mp4 (29.46 MB), 04:34

  *   03 Linux广播编程_实践.mp4 (102.22 MB), 15:47