飞豹客 · 课能看,资料也能带走
飞豹客后端开发 会员免费

曹操军 C++ 跨平台 Libevent 高并发网络编程课程

这门课到底解决什么实际问题 如果你写过 C++,但一碰到「同时处理上千个连接」就不知道从哪下手,或者你已经在用多线程加阻塞 socket,却发现线程数一涨、CPU 全耗在上下文切换上,那这门课针对的就是这类场景。它讲的是 Libevent 这套事件驱动网络库,重点不在于教你写一个能跑的 echo s

单课价¥29.90新品 上架
会员价 会员免费开通会员后本篇可直接下载套餐详情
96 人关注 更新于 2026-07-25 永久有效
发货

网盘链接 · 支付成功后自动发货

保障

永久有效 · 链接失效免费补发

客服

每日 9:00-21:00 在线客服 联系客服

会员可免费下载本篇月会员可免费领取。

开通会员 ›
购买本课销量 0 · 永久有效
会员价 · 单课标价 ¥29.90

会员 · 按档位

永久免费可领
年免费可领
月免费可领

游客按标价购买,不享受上表折扣。

支付成功后自动发放网盘链接,链接失效可找客服免费补

正版保障 极速发货 售后无忧

这门课到底解决什么实际问题

如果你写过 C++,但一碰到「同时处理上千个连接」就不知道从哪下手,或者你已经在用多线程加阻塞 socket,却发现线程数一涨、CPU 全耗在上下文切换上,那这门课针对的就是这类场景。它讲的是 Libevent 这套事件驱动网络库,重点不在于教你写一个能跑的 echo server,而在于让你理解怎么用单线程或少量线程撑住大量并发连接,以及跨 Linux、Windows 时同一套代码怎么落地。

说直白点:学完之后你应该能自己搭一个基于事件循环的网络服务骨架,能读懂并改动现有 Libevent 项目的核心逻辑,而不是只会跟着敲一遍示例。

课程内容大致覆盖哪些部分

从资料结构看,它分成几块递进的内容:先讲 event_base 事件循环本身,包括循环怎么跑、怎么退出、定时器和信号怎么挂进去;接着是 bufferevent 和 evbuffer 这类带缓冲的 IO 封装,这是实际项目里最常用的部分;再往后是 evhttp,也就是用 Libevent 自带的 HTTP 模块直接响应浏览器请求、读取本地网页;最后涉及多线程和线程池怎么和事件循环配合。

这个顺序是合理的——不会一上来就扔高并发架构,而是先让你把单个事件循环用熟,再谈并发规模。

学完能独立做什么

  • 用 Libevent 写一个支持多连接的 TCP 服务端,自己管理连接生命周期和读写缓冲;
  • 用 evhttp 快速搭一个能返回静态页面、处理简单请求的 HTTP 服务;
  • 把耗时操作从事件循环里拆出去,交给线程池处理,避免阻塞主循环;
  • 在 Linux 和 Windows 上编译同一套网络代码,处理两边的差异。

注意这里说的是「能独立做」,不是「看懂」。如果你只是把视频过一遍,不自己动手改代码,这些目标基本达不到。事件驱动编程的坑大多在细节里,比如回调里的对象生命周期、缓冲区边界处理,光看是看不出来的。

适合什么基础的人看

前提是 C++ 要过关:类、继承、智能指针、回调(函数指针或 std::function)这些得熟练,不然看回调注册的部分会很吃力。另外最好有基本的网络概念,知道 TCP 连接、阻塞和非阻塞的区别、什么是文件描述符。如果这些还模糊,建议先补一下再回来。

反过来,如果你已经熟练使用 epoll 或 IOCP 手写过网络层,这门课对你来说偏基础,价值主要在于熟悉 Libevent 这套封装,可以快速过。

资料本身以视频演示为主,配套的图示和示例代码用于对照理解。建议的用法是:每个模块先看一遍建立印象,然后关掉视频自己把示例重写一遍,再尝试改需求。跨平台部分尤其要自己动编译,光看结论记不住。

入手前值得想清楚的一点

Libevent 是一个成熟但相对底层的库,它不会帮你解决业务逻辑组织、序列化协议设计这些问题。这门课给你的是网络 IO 这一层的能力,学完之后你仍然需要自己决定消息格式、连接认证、超时策略这些工程问题。如果你的目标是把网络编程这块短板补上,它是合适的;如果你期待学完就能直接做出一个完整产品,那还需要更多东西配合。先明确这一点,再决定要不要投入时间。

课程目录

课程目录75 集
  • 【夏曹俊】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库使用 实现高并发网络应用 提升网络编程能力 祝您学习愉快! 学有所成,前程似锦!