课程介绍

适合人群:

一 有C或者C++基础的同学想要提高实战能力;二 公司的用到高并发网络,三 跳槽加薪技术储备

你将会学到:

学习跨平台基于libevent高并发,线程池的网络编程开发

课程简介:

课程介绍

LIBEVENT:是一款事件驱动的网络开发包,由于采用C语言开发体积小巧,跨平台,速度极快.课程中讲解分析 LIBEVENT原理,跨平台编译事件1O、缓冲1O处理。讲解HTTP服务端开发示例,HTTP客户端请求开发示例,最后基于 LIBEVENTT创建线程池C++框架,并用此框架完成FTP服务器的登录、目录访问、文件上传下载能功

课程目录

第1章 Libevent源码的跨平台编译和测试(2小时9分钟10节)

1-1 课程介绍-讲师介绍和目标学员说明
1-2 课程介绍-学员学习收益和课程资料说明
1-3 windows平台编译libevent分析及环境安装和源
1-4 用vs2017编译zlib源码并完成编译批处理脚本
1-5 用vs2017编译openssl源码并完成编译批处理脚本
1-6 libevent源码vs2017编译完成包含openss模块
1-7 libevent集成zlib的测试程序配置修改和编译
1-8 libevent源码vs2017编译批处理脚本编写
1-9 libevent第一个vs2017的测试程序完成
1-10 libevent在linux环境编译源码并编写测试程序

第2章 Libevent原理和网络模型设置(1小时38分钟8节)

2-1 高并发网络模型select_epoll_iocp区别
2-2 libevent接口分析
2-3 libevent服务端接收连接的代码示例
2-4 libevent上下文属性配置和源码分析
2-5 获取系统所支持的网络模型例如epoll_select
2-6 配置特征_例如边缘触发_并判断是否生效event_con
2-7 设置网络模型并显示当前应用的网络模型event_config
2-8 windows上使用iocp网络模型并测试

第3章 event事件处理原理和实战(2小时29分钟10节)

3-1 event事件状态流程和API接口分析
3-2 event在linux下信号事件处理evsignal_
3-3 event的定时器接口讲解和代码示例
3-4 event优化公用超时用双向队列替换二叉堆
3-5 使用event的读取用户登录日志文件并监听文件更新
3-6 使用event网络服务器的端口绑定和连接事件处理
3-7 使用event网络服务器数据接收和响应并处理超时
3-8 使用event网络服务器测试epoll的边缘触发ET
3-9 event循环函数原理分析event_base_lo
3-10 event循环函数和退出代码示例event_base

第4章 bufferevent缓冲I0 (1小时36分钟 5节)

4-1 bufferevent基本原理缓冲水位分析
4-2 bufferevent代码演示服务器接收和发送数据
4-3 bufferevent超时事件处理和资源清理
4-4 bufferevent客户端连接服务器
4-5 bufferevent客户端发送文件并处理超时和断开

第5章 bufferevent、zlib实现在过滤器中压缩和解压 (3小时16分钟 9节)

5-1 bufferevent_filter过滤器接口分析
5-2 buffervent输入输出过滤器处理代码讲解
5-3 用于zlib示例的evbuffer处理函数分析
5-4 zlib压缩和解压缩函数接口分析
5-5 bufferevent_filter过滤器示例完成服
5-6 bufferevent_filter完成过滤器客户端
5-7 使用bufferevent的filter完成文件的发
5-8 使用bufferevent的filter和zlib完
5-9 使用过滤器和zlib完成服务端接收压缩数据并解压存储

第6章 libevent的http接口实现服务器和客户端 (2小时23分钟 10节)

6-1 http协议分析
6-2 libevent的evhttp接口分析
6-3 evhttp服务器代码示例完成http请求消息解析
6-4 evhttp读取本地网页响应浏览器请求
6-5 完成http服务器支持图片文件下载和并能获取表单PO
6-6 http客户端程序完成uri解析端口_服务器_请求地
6-7 完成http客户端的请求
6-8 完成http的客户端接收的response并打印获取
6-9 http客户端完成图片文件下载
6-10 完成了http客户端的POST请求

第7章 搭建基于libevent的C+跨平台线程池 (2小时2分钟 8节)

7-1 基于libevent的c++线程池原理详解
7-2 创建好XThreadPool的单件模式代码
7-3 使用c++11的thread完成XThread线程池
7-4 完成线程的安装和跨平台管道激活事件处理
7-5 完成线程池的线程分发和线程激活
7-6 完成线程池的自定义任务和任务的线程分发
7-7 完成想线程池线程中添加一个自定义任务并处理客户发送的
7-8 完成线程池任务资源清理并移植到linux

第8章 基于libevent和线程池完成FTP服务器开发 (3小时47分钟 14节)

8-1 FTP协议详解和用到指令说明
8-2 基于libevent的线程池FtpServer设计分
8-3 重构线程池测试代码添加ftp工厂类和ftp任务基类
8-4 完成ftp指令注册处理框架搭建并完成用户登录事件
8-5 完成ftp服务器的PWD获取当前路径指令处理
8-6 解析PORT命令分析出数据通道的IP和端口
8-7 完成数据通道架构调整解析LIST发送测试的目录数据
8-8 解析LIST指令完成windows中目录列表的发送
8-9 完成FTP协议中CWD和CDUP目录切换
8-10 解析FTP协议中RETR完成文件下载功能
8-11 解析FTP协议中STOR完成文件上传功能
8-12 完成ftpserver的内存和资源清理
8-13 基于libevent线程池的ftp项目完成移植到li
8-14 课程总结