基于C++从0到1手写Linux高性能网络编程框架

掌握C++11新特性综合运用,及网络框架、通讯协议设计及原理,助力在网络编程领域技术有更大的突破!

已完结
|
难度:高级
|
时长:共 21 小时
¥299.00
距离活动结束
立即购买
加购物车
已有 118 人在学
  • 独立完成事件驱动网络编程框架
  • 掌握服务间RPC通信协议设计
  • 掌握事件驱动编程的原理及实现
  • 掌握WebRTC P2P核心通信流程
  • 掌握基于GO的HTTP框架设计
  • 掌握C++11新特性综合运用
试看本节课 09:50
试看本节课 13:11
试看本节课 09:04
1-1 课程导学
1-2 如何快速进阶后端高级工程师
1-3 课程效果演示

课程预览

检测到您还没有关注慕课网服务号,无法接收课程更新通知。请扫描二维码即可绑定
重新观看
深度掌握网络编程是逆袭成为高阶开发者的秘密法宝,本课程深度讲解基于C++的Linux高性能事件驱动网络编程框架的设计方法及技巧,课程中采取渐进迭代的授课方式,配合C++11新特性的使用,以及网络编程理论的深度讲解,并手把手带着大家落地实现,助力在网络编程领域有更大的技术提升!

本章介绍:

本章对本门课程进行全局性介绍,包括课程的核心技术点、课程收获、课程价值、课程特点等,同时对课程的整体安排也会做详细的讲解,最后会对课程项目最终实现的效果进行演示,方便大家对课程有一个直观的了解,以便更好的学习本门课程。

第1章 事件驱动网络编程框架--课程导学
3 节|33分钟
展开
  • 视频:
    1-1 课程导学
    试看
    09:50
  • 视频:
    1-2 如何快速进阶后端高级工程师
    试看
    13:11
  • 视频:
    1-3 课程效果演示
    试看
    09:04

本章介绍:

本章重点讲解事件驱动编程相关的基础理论,并对业界一些知名和典型的实践案例如nginx、redis等做深入分析,帮助一些初学者对事件驱动编程有一个初步的了解,为后续的深入学习打下一定的理论基础。

第2章 事件驱动编程的基础理论和典型应用分析
5 节|32分钟
收起
  • 视频:
    2-1 网络编程中的同步与异步、阻塞与非阻塞
    07:41
  • 视频:
    2-2 什么是事件驱动编程?
    07:16
  • 视频:
    2-3 事件驱动编程优缺点分析
    05:48
  • 视频:
    2-4 Nginx事件驱动模型解析
    04:25
  • 视频:
    2-5 Redis事件驱动模型解析
    06:38

本章介绍:

本章从几个问题出发,结合个人的实践经验,重点探讨了如何选择合适的网络框架?以及自研网络框架应该考虑哪些问题和相关的设计思路,供大家作为参考。

第3章 如何自主研发一套网络框架?
2 节|12分钟
收起
  • 视频:
    3-1 自主研发网络框架需要考虑哪些问题?
    06:41
  • 视频:
    3-2 针对WebRTC实时音视频场景如何设计一套服务框架?
    04:23

本章介绍:

由于本课程是实战课程,以WebRTC屏幕共享推流为应用案例,一部分学员可能对WebRTC技术不是特别了解,本章内容旨在帮助不了解WebRTC技术的学员快速掌握相关项目背景知识,核心重点是WebRTC通信流程,以方便后续更好的完成整个实战项目。

第4章 带你快速入门WebRTC技术
12 节|119分钟
展开
  • 视频:
    4-1 开发环境准备
    13:18
  • 视频:
    4-2 WebRTC P2P通信流程
    13:58
  • 视频:
    4-3 屏幕共享项目-用golang搭建静态资源服务
    16:04
  • 视频:
    4-4 屏幕共享项目-获取证书和支持https访问
    09:44
  • 视频:
    4-5 屏幕共享项目-设计UI界面
    08:05
  • 视频:
    4-6 屏幕共享项目-获取屏幕共享视频流
    08:07
  • 视频:
    4-7 屏幕共享项目-实现WebRTC推流
    15:34
  • 视频:
    4-8 屏幕共享项目-实现WebRTC拉流(一)
    05:34
  • 视频:
    4-9 屏幕共享项目-实现WebRTC拉流(二)
    07:59
  • 视频:
    4-10 屏幕共享项目-实现WebRTC拉流(三)
    05:53
  • 视频:
    4-11 屏幕共享项目-实现停止推流和拉流
    08:37
  • 视频:
    4-12 本章小结
    05:46

本章介绍:

本章主要基于Golang,详细介绍如何设计一个轻量级的http开发框架,包括基础架构、url路由,日志模块、配置模块、https和静态资源访问支持等等,对于一些简单的api模块,不太适合使用特重的开源框架,可以考虑本章节的实现,同时可以根据需要自由灵活扩展,通过本章课程的学习,可以获得http的开发框架设计技术

第5章 轻量级http开发框架的设计和实现
17 节|198分钟
展开
  • 视频:
    5-1 本章导学
    01:57
  • 视频:
    5-2 WebRTC推流SDP交换模型
    13:09
  • 视频:
    5-3 轻量级http基础框架设计和实现(一)
    13:01
  • 视频:
    5-4 轻量级http基础框架设计和实现(二)
    13:16
  • 视频:
    5-5 引入google的glog库
    15:41
  • 视频:
    5-6 丰富和完善log组件功能
    11:15
  • 视频:
    5-7 设计框架ComLog类
    10:45
  • 视频:
    5-8 填充通用日志字段信息
    12:14
  • 视频:
    5-9 添加统计耗时功能
    11:23
  • 视频:
    5-10 添加conf组件
    14:06
  • 视频:
    5-11 利用conf优化框架实现
    06:09
  • 视频:
    5-12 支持https和静态资源访问
    14:22
  • 视频:
    5-13 WebRTC推流端UI界面设计(一)
    13:52
  • 视频:
    5-14 WebRTC推流端UI界面设计(二)
    13:51
  • 视频:
    5-15 WebRTC推流信令请求的发送和处理
    13:49
  • 视频:
    5-16 WebRTC推流信令请求参数解析和异常处理(一)
    07:00
  • 视频:
    5-17 WebRTC推流信令请求参数解析和异常处理(二)
    11:39

本章介绍:

在实际的业务场景当中,后台UI模块和后台服务之间需要通过网络通信来获取数据,这里面就涉及到服务端间的rpc通信,本章详细介绍RPC通信的设计方法和具体实现,包括协议设计、接口设计和负载均衡策略。通过本章课程的学习,可以获得rpc的通用设计方法和设计技巧。

第6章 服务间RPC通信协议的设计和实现
6 节|76分钟
展开
  • 视频:
    6-1 什么是RPC
    06:46
  • 视频:
    6-2 RPC通信协议设计
    18:34
  • 视频:
    6-3 RPC Client接口设计和功能实现(一)
    18:48
  • 视频:
    6-4 RPC Client接口设计和功能实现(二)
    09:27
  • 视频:
    6-5 RPC Client负载均衡实现
    14:51
  • 视频:
    6-6 本章小结
    06:55

本章介绍:

本章课程详细介绍事件驱动编程的基本概念以及优缺点,然后带领大家实现事件驱动网络编程框架的基础架构,并添加日志组件和配置系统组件。通过本章课程的学习,可以掌握一个标准的后台服务的核心构成。

第7章 事件驱动网络编程框架--基础组件,掌握标准后台服务的核心构成
10 节|140分钟
展开
  • 视频:
    7-1 事件驱动编程基本概念及其特点介绍
    16:36
  • 视频:
    7-2 音视频分发服务的工作模型设计
    04:47
  • 视频:
    7-3 搭建音视频分发服务
    16:17
  • 视频:
    7-4 添加conf组件
    11:48
  • 视频:
    7-5 解析YAML格式的配置文件
    13:52
  • 视频:
    7-6 添加log组件(一)
    20:41
  • 视频:
    7-7 添加log组件(二)
    18:20
  • 视频:
    7-8 实现log异步写入文件(一)
    12:35
  • 视频:
    7-9 实现log异步写入文件(二)
    18:24
  • 视频:
    7-10 解决log写入文件失败的问题
    05:52

本章介绍:

本章是事件驱动网络编程的核心部分,会引入高性能事件驱动库libev,并进行详细的介绍。同时基于libev重新封装一个更加易用的EventLoop类,通过该类可以方便的创建、启动、停止和删除IO事件以及定时器事件,这些事件是后续整个系统运转的基础。通过本章课程的学习,可以获得事件循环的综合运用技巧。

第8章 事件驱动网络编程框架--事件循环,掌握事件循环的综合运用技巧
10 节|128分钟
展开
  • 视频:
    8-1 本章介绍和信令服务框架搭建
    18:18
  • 视频:
    8-2 创建TCP Server
    15:24
  • 视频:
    8-3 libev快速入门
    08:36
  • 视频:
    8-4 封装EventLoop类
    19:29
  • 视频:
    8-5 实现创建IO事件
    10:41
  • 视频:
    8-6 实现启动IO事件
    05:06
  • 视频:
    8-7 实现停止和删除IO事件
    03:46
  • 视频:
    8-8 实现定时器事件
    10:49
  • 视频:
    8-9 向TCP Server添加事件循环
    13:33
  • 视频:
    8-10 启动和停止TCP Server
    22:13

本章介绍:

本章课程重点讲解网络数据的读写,不同于阻塞式IO数据读取,非阻塞IO数据读取需要一些特殊处理。线程间通信通过管道的方式,用无锁队列传递消息体内容。通过本章课程的学习,可以获得非阻塞网络IO的读写技术。

第9章 事件驱动网络编程框架--网络数据读写,掌握非阻塞网络IO的读写技术
13 节|180分钟
展开
  • 视频:
    9-1 创建SignalingWorker
    11:09
  • 视频:
    9-2 完善SignalingWorker并进行管理
    15:10
  • 视频:
    9-3 分发新连接给SignalingWorker进行处理
    17:44
  • 视频:
    9-4 无锁队列的原理和实现
    19:39
  • 视频:
    9-5 创建TcpConnection类
    18:12
  • 视频:
    9-6 监听TcpConnection读事件
    10:09
  • 视频:
    9-7 RPC客户端写入信令转发数据
    09:10
  • 视频:
    9-8 从TCP连接读取协议头
    13:17
  • 视频:
    9-9 从TCP连接读取消息体
    22:01
  • 视频:
    9-10 处理TCP连接超时情况-
    19:00
  • 视频:
    9-11 TCP连接资源清理
    02:33
  • 视频:
    9-12 解析json格式的数据体
    15:52
  • 视频:
    9-13 根据命令号处理解析后的数据
    05:51

本章介绍:

本章课程讲解多个Server协同工作的情况,比如一个Server负责信令的处理,一个Server负责音视频数据的分发,两者之间通过管道进行通信。通过本章课程的学习,可以获得多Server的协同处理技术,以及讲解响应结果的处理,可以有两种方式,一种方式是同步处理,等待内部处理完毕,返回结果。一种方式是异步处理,先直接返回成功,内部慢慢处理等。

第10章 事件驱动网络编程框架--多Server协同工作,掌握多Server的协同处理技术
12 节|177分钟
展开
  • 视频:
    10-1 本章核心内容
    02:44
  • 视频:
    10-2 创建RtcServer类
    16:54
  • 视频:
    10-3 实现RtcServer的启动和停止
    12:53
  • 视频:
    10-4 处理SignalingWorker发送的消息
    10:37
  • 视频:
    10-5 创建RtcWorker类
    13:49
  • 视频:
    10-6 实现RtcWorker的消息处理
    15:59
  • 视频:
    10-7 分配请求给RtcWorker进行处理
    20:57
  • 视频:
    10-8 RtcWorker返回响应结果
    17:54
  • 视频:
    10-9 SignalingWorker构造响应包-
    14:57
  • 视频:
    10-10 SignalingWorker发送响应包
    21:28
  • 视频:
    10-11 信令服务读取响应结果
    12:20
  • 视频:
    10-12 信令服务返回处理结果给客户端
    15:40

本章介绍:

本章为拓展内容,在课程实战项目的基础之上,又拓展了长连接消息系统和音视频分发系统两个典型的应用场景,详细介绍了如何使用本门课程的框架技术,来实现这两个场景的核心功能,帮助大家进一步提升技术视野。

第11章 其他场景如何使用框架提升开发效率呢?
2 节|13分钟
展开
  • 视频:
    11-1 长连接服务场景的运用解析
    09:29
  • 视频:
    11-2 音视频实时分发服务场景的运用解析
    02:41

本章介绍:

本章主要对整体课程内容进行总结梳理,整理课程重难点内容,助力大家有更好的学习效果。

第12章 课程回顾与总结
1 节|14分钟
展开
  • 视频:
    12-1 课程回顾与总结
    13:30
本课程已完结
适合人群
后端开发工程师
对网络/多线程编程感兴趣
期望更深入掌握网络编程底层
技术储备
掌握Linux系统的基本使用
掌握C/C++/Java/GO等任意一门
环境参数
开发工具 vim
操作系统 Linux,Ubuntu
str2num
资深架构师, 已有161个学生
不为别的,只为提升面试通过率
尽管课程时间很长,
但没关系,我们有老师的陪伴,
还有同学之间互相鼓励,彼此帮助,
完成学习后,还能获得慕课网官方认证的证书。
立即购买
数据加载中...
《基于C++从0到1手写Linux高性能网络编程框架》的真实评价
综合评分:分,共 人参与
篇幅原因,只展示最近100条评价

学习咨询

选课、学习遇到问题?

扫码添加指导老师 1V1 帮助你!

添加后老师会第一时间解决你的问题

意见反馈 帮助中心 APP下载
官方微信