-
有一定 C 、C++ 或 C# 基础的同学; -
想深入系统地学习下网络编程的同学; -
想独立设计或者想掌握如何研究大型开源项目的网络框架的同学; -
网络编程知识存在夹生饭,但是又不知道如何补缺补差的同学; -
网络编程爱好者。
不适合人群
-
提问问题态度恶劣,老气横秋的人;
-
叶公好龙、三分钟热度的人;
-
对自己不负责,懒于提高的人;
-
把学习当作别人的事情,缺少主观能动性的人。
学完后,你将获得的技能
-
规范的代码编写能力和源代码管理能力;
-
熟悉 C++11/14/17 常用语法;
-
系统性地掌握 C/C++ 网络编程知识体系;
-
熟悉网络编程模型,可以写出商业的网络通信模块;
-
拥有一定的网络故障排查能力;
-
掌握 Visual Studio 开发工具的高级使用技巧和调试方法;
-
掌握 Linux gdb 调试;
-
熟悉前后端如何联调;
-
熟悉客户端和服务器网络框架如何组织,模块如何规划,细节如何实现,每一行代码如何考究地写;
-
拥有容易地看懂市面上常见的网络库的能力;
-
C++ 面试中,网络编程问题轻松回答。
训练营大纲
热身篇
-
开营典礼——小方老师自我介绍和本训练营课程体系及学习方法
-
开发工具介绍
-
如何学习网络编程
基础篇 1 —— C++工程实践
在这个系列中,我将结合一些流行的开源代码,详细地介绍在实际工作中如何开发 Windows 和 Linux 上 C/C++ 程序。
同时会介绍多线程编程的知识点和调试技巧。
涉及到的项目 电驴、uWebSockets、libuv、TeamTalk 等。
基础篇 2 —— 网络编程基础
-
阻塞模式与非阻塞模式,同步与异步模式
-
精讲常用 socket 函数(socket、connect、bind、accept、send、recv 等)
-
瑞士军刀 nc 命令
-
常用的 Socket 选项
-
域名解析
-
字节序
-
实战项目 1—— Flamingo 客户端网络框架解析
网络编程进阶 1 —— IO 复用模型
-
IO 复用函数之 select 函数 -
实战项目 2 —— TeamTalk 客户端网络框架解析 -
IO 复用函数之 poll 函数 -
IO 复用函数之 epoll 函数 -
实战项目 3—— uWebSocket 网络框架解析 -
实战项目 4—— 一个简单的 httpserver 的实现 -
实战项目 5——同步HttpClient开发
-
实战项目 6 —— 异步HttpClient开发
网络编程进阶 2 —— 协议设计与进阶
-
应用层协议如何设计 -
telnet 命令与 telnet 协议 -
SSH 协议详解 -
curl 命令与 tcpdump 命令详解 -
HTTP 协议详解 -
实战项目 7 —— Nginx 源码之解析 HTTP 协议精讲 -
实战项目 8 ——如何在 Visual Studio 中调试 Windows 版本的 Nginx 源码 -
实战项目 9 —— 12306 刷票软件的开发 -
实战项目 10 —— 通过 Redis 源码来分析 Redis 协议格式 -
实战项目 11 —— 邮箱协议与实现一个邮箱报警功能 -
TLV 格式设计 -
Google Protobuf 原理分析
网络编程高级篇 —— 网络框架组件设计
-
阻塞模式的使用场景
-
异步 connect 函数
-
收发数据的正确姿势
-
收发缓冲区的设计
-
一个线程处理一个连接的结构设计
-
one thread one loop 结构
-
定时器设计
-
客户端网络框架如何组织
-
服务端网络框架如何组织
-
实战项目 12 —— Flamingo Server 新版网络框架解析
-
实战项目 13 —— TeamTalk 服务端网络框架解析
-
实战项目 14 —— Sogou Workflow 最新源码网络框架解析
网络编程补缺补差篇
-
如何保证关闭连接前,数据可以发送出去 -
心跳包机制如何设计 -
断线重连机制如何设计 -
超时机制如何设计 -
拔网线问题 -
网络故障排查与定位 -
监控端口 -
三次握手与四次挥手常见问题解析 -
RPC框架设计分析
-
聊一聊面试中常考的网络编程问题
-
课程总结
涉及到的开发工具
-
Visual Studio 2022 -
Visual Studio Code -
gcc 9.1、gdb 8.3 等
-
去除了 Windows 操作系统的网络模型的介绍 -
去除了远控软件pcshare与gh0st的源码分析
费用
含所有录像、课件和源码,不支持试看。
不带技术支持,特惠价 800 元。
带技术支持,特惠价 1100 元,技术支持一年。
需要购买的同学,可以加微信 cppxiaofang 咨询,备注“购买二期录像”,非诚勿扰。

