如果你已经写过一些 C++,但一碰到网络编程就卡在 select/poll 的写法上,或者想搞清楚「高并发服务器到底怎么组织代码」,这套课值得花时间看。它不讲 C++ 语法基础,主线是围绕 Libevent 这个事件驱动库,把跨平台高并发网络程序的搭建过程拆开讲。
它解决的是哪个工作场景
实际工作里,需要自己写网络层的场合通常有两类:一是给现有服务做通信模块,二是在没有成熟框架的情况下搭一个能扛住并发连接的服务端。这两类场景的共同难点不在于「socket 怎么用」,而在于如何管理大量连接、如何避免为每个连接开线程、如何处理事件循环和超时。课程正是从事件循环(event_base)讲起,逐步过渡到 bufferevent、缓冲区管理、线程池配合,最终落到一个能跑起来的服务端结构上。学完你再回头看公司里的网络模块,不会觉得是一团黑盒。
学完能独立做什么
按课程推进的深度,比较现实的产出是:能自己搭一个基于 Libevent 的 TCP 服务端,支持多连接并发,用事件回调处理读写,而不是阻塞式地等一个连接处理完。课程里涉及的线程池与事件循环配合,能让你理解主线程负责监听、工作线程负责业务这种常见分工。另外还包含 HTTP 方向的实践,比如用 evhttp 处理浏览器请求、返回本地页面,这块对做内嵌 Web 管理界面或轻量接口服务的人很实用。FTP 协议解析部分更偏协议理解和状态机处理,适合想看一个完整文本协议如何用 C++ 落地的人。
资料适合什么基础
需要你至少能读懂 C++ 类和回调的写法,知道 socket 的基本概念(TCP 连接、阻塞与非阻塞),如果完全没碰过网络编程,前几节会比较吃力。平台方面课程强调跨平台,但核心逻辑以 Linux 环境为主,Windows 下用 Libevent 的差异会有涉及。资料里以视频讲解为主,配少量图示,适合跟着敲代码,不适合当纯文档速查。如果你习惯先看目录再决定,注意它没有把「C++ 基础」单独拎出来补,所以零基础不要直接上。
怎么用这套资料效率更高
- 先过一遍事件循环和 event_base 的部分,把回调驱动这个思维模式建立起来,再往后看 bufferevent,否则容易照抄代码但说不清为什么这么写。
- 线程池和并发部分建议自己动手改参数,比如调整工作线程数量、观察连接数变化,比只看讲解印象深。
- HTTP 和 FTP 两块可以当成两个小项目来练:一个练请求响应,一个练协议解析,做完再回头看事件模型,会串得更顺。
- 不要试图一次看完所有视频,按「事件模型—缓冲与连接管理—并发—协议实践」的顺序分批推进,每批配一个能跑通的小例子。
整体上,这套课适合已经有 C++ 基础、想补齐网络编程这一块的开发者,偏实战而非理论推导。如果你只是想了解 Libevent 是什么,翻两节即可;如果你确实要在项目里用事件驱动写服务端,它的深度是够的。买之前确认自己愿意跟着敲代码,否则光看很难转化成手上的能力。
课程目录
【夏曹俊】C++跨平台Libevent高并发网络编程课资料.png [493.5 KB] 6-4 evhttp读取本地网页响应浏览器请求.mp4 [76.7 MB] 3-10 event循环函数和退出代码示例event_base(1).mp4 [44.6 MB] 3-5 使用event的读取用户登录日志文件并监听文件更新(1).mp4 [60.4 MB] 3-2 event在linux下信号事件处理evsignal_(1).mp4 [73.7 MB] 6-10 完成了http客户端的POST请求(1).mp4 [44.0 MB] 4-1 bufferevent基本原理缓冲水位分析(1).mp4 [77.2 MB] 2-6 配置特征_例如边缘触发_并判断是否生效event_con(1).mp4 [82.6 MB] 3-4 event优化公用超时用双向队列替换二叉堆(1).mp4 [24.9 MB] 6-2 libevent的evhttp接口分析.mp4 [35.4 MB] 5-1 bufferevent_filter过滤器接口分析.mp4 [29.6 MB] 5-4 zlib压缩和解压缩函数接口分析.mp4 [29.9 MB] 1-3 windows平台编译libevent分析及环境安装和源.mp4 [93.9 MB] 7-2 创建好XThreadPool的单件模式代码(1).mp4 [48.2 MB] 3-8 使用event网络服务器测试epoll的边缘触发ET.mp4 [21.0 MB] 7-8 完成线程池任务资源清理并移植到linux.mp4 [140.3 MB] 3-7 使用event网络服务器数据接收和响应并处理超时(1).mp4 [42.6 MB] 3-6 使用event网络服务器的端口绑定和连接事件处理(1).mp4 [81.4 MB] 8-14 课程总结(1).mp4 [33.6 MB] 6-9 http客户端完成图片文件下载.mp4 [30.1 MB] 8-4 完成ftp指令注册处理框架搭建并完成用户登录事件(1).mp4 [112.6 MB] 1-1 课程介绍-讲师介绍和目标学员说明.mp4 [48.6 MB] 1-10 libevent在linux环境编译源码并编写测试程序(1).mp4 [57.4 MB] 7-6 完成线程池的自定义任务和任务的线程分发(1).mp4 [101.0 MB] 3-1 event事件状态流程和API接口分析.mp4 [53.3 MB] 2-5 获取系统所支持的网络模型例如epoll_select(1).mp4 [35.5 MB] 7-7 完成想线程池线程中添加一个自定义任务并处理客户发送的数据(1).mp4 [75.9 MB] 8-12 完成ftpserver的内存和资源清理(1).mp4 [175.2 MB] 8-11 解析FTP协议中STOR完成文件上传功能(1).mp4 [116.3 MB] 1-8 libevent源码vs2017编译批处理脚本编写.mp4 [104.1 MB] 8-2 基于libevent的线程池FtpServer设计分析类分析(1).mp4 [99.4 MB] 8-1 FTP协议详解和用到指令说明(1).mp4 [177.7 MB] 6-6 http客户端程序完成uri解析端口_服务器_请求地址(1).mp4 [65.0 MB] 1-6 libevent源码vs2017编译完成包含openss模块.mp4 [95.1 MB] 8-8 解析LIST指令完成windows中目录列表的发送(1).mp4 [165.4 MB] 8-7 完成数据通道架构调整解析LIST发送测试的目录数据(1).mp4 [125.5 MB] 4-4 bufferevent客户端连接服务器(1).mp4 [58.8 MB] 7-3 使用c++11的thread完成XThread线程池(1).mp4 [20.1 MB] 6-1 http协议分析(1).mp4 [26.8 MB] 7-1 基于libevent的c++线程池原理详解(1).mp4 [85.4 MB] 5-9 使用过滤器和zlib完成服务端接收压缩数据并解压存储.mp4 [116.7 MB] 3-9 event循环函数原理分析event_base_loop.mp4 [34.4 MB] 6-3 evhttp服务器代码示例完成http请求消息解析.mp4 [90.1 MB] 3-3 event的定时器接口讲解和代码示例(1).mp4 [67.2 MB] 8-3 重构线程池测试代码添加ftp工厂类和ftp任务基类(1).mp4 [166.5 MB] 5-6 bufferevent_filter完成过滤器客户端发送(1).mp4 [76.1 MB] 8-6 解析PORT命令分析出数据通道的IP和端口(1).mp4 [130.0 MB] 8-10 解析FTP协议中RETR完成文件下载功能(1).mp4 [169.1 MB] 5-2 buffervent输入输出过滤器处理代码讲解(1).mp4 [64.3 MB] 2-3 libevent服务端接收连接的代码示例(1).mp4 [65.0 MB] 2-2 libevent接口分析(1).mp4 [12.0 MB] 5-5 bufferevent_filter过滤器示例完成服务端(1).mp4 [74.0 MB] 1-5 用vs2017编译openssl源码并完成编译批处理脚本.mp4 [191.6 MB] 6-5 完成http服务器支持图片文件下载和并能获取表单POST(1).mp4 [60.6 MB] 6-7 完成http客户端的请求(1).mp4 [44.2 MB] 1-7 libevent集成zlib的测试程序配置修改和编译.mp4 [218.9 MB] 4-3 bufferevent超时事件处理和资源清理.mp4 [48.0 MB] 1-9 libevent第一个vs2017的测试程序完成(1).mp4 [82.5 MB] 5-3 用于zlib示例的evbuffer处理函数分析(1).mp4 [29.6 MB] 4-5 bufferevent客户端发送文件并处理超时和断开事件(1).mp4 [70.6 MB] 8-9 完成FTP协议中CWD和CDUP目录切换(1).mp4 [162.0 MB] 2-1 高并发网络模型select_epoll_iocp区别(1).mp4 [38.1 MB] 7-4 完成线程的安装和跨平台管道激活事件处理(1).mp4 [97.6 MB] 7-5 完成线程池的线程分发和线程激活(1).mp4 [37.6 MB] 2-4 libevent上下文属性配置和源码分析(1).mp4 [65.9 MB] 1-4 用vs2017编译zlib源码并完成编译批处理脚本.mp4 [81.1 MB] 8-5 完成ftp服务器的PWD获取当前路径指令处理(1).mp4 [114.4 MB] 6-8 完成http的客户端接收的response并打印获取(1).mp4 [42.9 MB] 1-2 课程介绍-学员学习收益和课程资料说明.mp4 [84.8 MB] 2-8 windows上使用iocp网络模型并测试(1).mp4 [164.9 MB] 5-7 使用bufferevent的filter完成文件的发送.mp4 [214.7 MB] 2-7 设置网络模型并显示当前应用的网络模型event_config(1).mp4 [54.8 MB] 5-8 使用bufferevent的filter和zlib完成文件(1).mp4 [108.8 MB] 8-13 基于libevent线程池的ftp项目完成移植到linu(1).mp4 [163.4 MB] 4-2 bufferevent代码演示服务器接收和发送数据.mp4 [85.6 MB] 适合人群 C++开发者 网络编程爱好者 高并发应用开发人员 学习收获 熟练使用Libevent库 掌握高并发网络编程技术 开发高并发网络应用 祝您学习愉快! 学有所成,前程似锦!



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


