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

你将学到:

  • 独立完成事件驱动网络编程框架
  • 掌握服务间RPC通信协议设计
  • 掌握事件驱动编程的原理及实现
  • 掌握WebRTC P2P核心通信流程
  • 掌握基于GO的HTTP框架设计
  • 掌握C++11新特性综合运用

简介:

深度掌握网络编程是逆袭成为高阶开发者的秘密法宝,本课程深度讲解基于C++的Linux高性能事件驱动网络编程框架的设计方法及技巧,课程中采取渐进迭代的授课方式,配合C++11新特性的使用,以及网络编程理论的深度讲解,并手把手带着大家落地实现,助力在网络编程领域有更大的技术提升!

适合人群

后端开发工程师

对网络/多线程编程感兴趣

期望更深入掌握网络编程底层

技术储备

掌握Linux系统的基本使用

掌握C/C++/Java/GO等任意一门

环境参数

开发工具 vim

操作系统 Linux,Ubuntu

章节目录:

第1章 事件驱动网络编程框架--课程导学

3 节|33分钟

展开

视频:

1-1 课程导学

试看

09:50

视频:

1-2 如何快速进阶后端高级工程师

试看

13:11

视频:

1-3 课程效果演示

试看

09:04

第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

第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

第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

第6章 服务间RPC通信协议的设计和实现

6 节|68分钟

展开

视频:

6-1 什么是RPC

06:46

视频:

6-2 RPC通信协议设计

11:13

视频:

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

第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

第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

第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

本课程已完结

历史上的今天
05月
28
    抱歉,历史上的今天作者很懒,什么都没写!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。