Libevent C++高并发网络编程资源介绍:
LIBEVENT:是一款事件驱动的网络开发包,由于采用C语言开发体积小巧,跨平台,速度极快.课程中讲解分析 LIBEVENT原理,跨平台编译事件1O、缓冲1O处理。讲解HTTP服务端开发示例,HTTP客户端请求开发示例,最后基于 LIBEVENTT创建线程池C++框架,并用此框架完成FTP服务器的登录、目录访问、文件上传下载能功
课程收益
1学习跨平台编译( windows, linux) libevent及其依赖库源码;
2学习 ilbevent的事件駆动和事件分发方式
3学习 libeventa的事件10处理,并区分使用 select、epol、iocp等多路复用方式;
4理解{ libevent事件处理流程和状态的转换
5学习员使用 bufferevent缓冲0的客户端和服务端处理
6学习使用 bufferevent和zlb发送和接收的数据,在过滤器中压缩和解压缩
7学习使用libevente的http接口完成服务器GETPOST请求并支持文件下载和
图片显示;
8学习使用 libevent的htp接口客户端的GET、POST请求并完成文件下载功能
9参考 memcached搭建基于 libevente的++线程池框架;
10理解FTP协议及其工作模式
11基于 libeventi和线程池技术完成支持匿名登录、目录获取和切换、文件上传
下载的C++FTP服务器;
资源目录:
第1章Libevent源码的跨平台编译和测试(2小时9分钟10节) 1-1课程介绍-讲师介绍和目标学员说明[12:14] 1-2课程介绍-学员学习收益和课程资料说明[20:58] 1-3windows平台编译libevent分析及环境安装和源[11:22] 1-4用vs2017编译zlib源码并完成编译批处理脚本[11:37] 1-5用vs2017编译openssl源码并完成编译批处理脚本[14:51] 1-6libevent源码vs2017编译完成包含openss模块[09:13] 1-7libevent集成zlib的测试程序配置修改和编译[12:37] 1-8libevent源码vs2017编译批处理脚本编写[09:42] 1-9libevent第一个vs2017的测试程序完成[12:01] 1-10libevent在linux环境编译源码并编写测试程序[15:17] 第2章Libevent原理和网络模型设置(1小时38分钟8节) 2-1高并发网络模型select_epoll_iocp区别[14:16] 2-2libevent接口分析[05:00] 2-3libevent服务端接收连接的代码示例[19:41] 2-4libevent上下文属性配置和源码分析[17:19] 2-5获取系统所支持的网络模型例如epoll_select[10:55] 2-6配置特征_例如边缘触发_并判断是否生效event_con[09:31] 2-7设置网络模型并显示当前应用的网络模型event_config[05:10] 2-8windows上使用iocp网络模型并测试[16:48] 第3章event事件处理原理和实战(2小时29分钟10节) 3-1event事件状态流程和API接口分析[14:41] 3-2event在linux下信号事件处理evsignal_[22:05] 3-3event的定时器接口讲解和代码示例[21:28] 3-4event优化公用超时用双向队列替换二叉堆[07:19] 3-5使用event的读取用户登录日志文件并监听文件更新[17:36] 3-6使用event网络服务器的端口绑定和连接事件处理[25:23] 3-7使用event网络服务器数据接收和响应并处理超时[12:29] 3-8使用event网络服务器测试epoll的边缘触发ET[05:39] 3-9event循环函数原理分析event_base_lo[10:24] 3-10event循环函数和退出代码示例event_base[12:49] 第4章 bufferevent缓冲I0 (1小时36分钟 5节) 4-1bufferevent基本原理缓冲水位分析[19:55] 4-2bufferevent代码演示服务器接收和发送数据[25:19] 4-3bufferevent超时事件处理和资源清理[14:48] 4-4bufferevent客户端连接服务器[16:06] 4-5bufferevent客户端发送文件并处理超时和断开[19:54] 第5章 bufferevent、z1ib实现在过滤器中压缩和解压 (3小时16分钟 9节) 5-1bufferevent_filter过滤器接口分析[11:04] 5-2buffervent输入输出过滤器处理代码讲解[17:19] 5-3用于zlib示例的evbuffer处理函数分析[11:12] 5-4zlib压缩和解压缩函数接口分析[09:17] 5-5bufferevent_filter过滤器示例完成服[20:47] 5-6bufferevent_filter完成过滤器客户端[20:19] 5-7使用bufferevent的filter完成文件的发[50:38] 5-8使用bufferevent的filter和zlib完[29:05] 5-9使用过滤器和zlib完成服务端接收压缩数据并解压存储[27:10] 第6章 libevent的http接口实现服务器和客户端 (2小时23分钟 10节) 6-1http协议分析[10:06] 6-2libevent的evhttp接口分析[09:30] 6-3evhttp服务器代码示例完成http请求消息解析[25:30] 6-4evhttp读取本地网页响应浏览器请求[19:46] 6-5完成http服务器支持图片文件下载和并能获取表单PO[17:20] 6-6http客户端程序完成uri解析端口_服务器_请求地[17:55] 6-7完成http客户端的请求[11:50] 6-8完成http的客户端接收的response并打印获取[12:50] 6-9http客户端完成图片文件下载[07:14] 6-10完成了http客户端的POST请求[11:34] 第7章 搭建基于libevent的C+跨平台线程池 (2小时2分钟 8节) 7-1基于libevent的c++线程池原理详解[25:23] 7-2创建好XThreadPool的单件模式代码[15:11] 7-3使用c++11的thread完成XThread线程池[06:42] 7-4完成线程的安装和跨平台管道激活事件处理[26:49] 7-5完成线程池的线程分发和线程激活[10:20] 7-6完成线程池的自定义任务和任务的线程分发[15:17] 7-7完成想线程池线程中添加一个自定义任务并处理客户发送的[09:37] 7-8完成线程池任务资源清理并移植到linux[12:54] 第8章 基于libevent和线程池完成FTP服务器开发 (3小时47分钟 14节) 8-1FTP协议详解和用到指令说明[20:37] 8-2基于libevent的线程池FtpServer设计分[11:34] 8-3重构线程池测试代码添加ftp工厂类和ftp任务基类[18:28] 8-4完成ftp指令注册处理框架搭建并完成用户登录事件[28:40] 8-5完成ftp服务器的PWD获取当前路径指令处理[12:44] 8-6解析PORT命令分析出数据通道的IP和端口[14:28] 8-7完成数据通道架构调整解析LIST发送测试的目录数据[29:22] 8-8解析LIST指令完成windows中目录列表的发送[18:17] 8-9完成FTP协议中CWD和CDUP目录切换[14:24] 8-10解析FTP协议中RETR完成文件下载功能[17:11] 8-11解析FTP协议中STOR完成文件上传功能[11:03] 8-12完成ftpserver的内存和资源清理[14:39] 8-13基于libevent线程池的ftp项目完成移植到li[11:55] 8-14课程总结[04:10]