有一定 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 咨询,备注“购买二期录像”,非诚勿扰。