01课程介绍
课程概况
-
Socket:运用C++和Socket API来构建百万级处理能力的网络通信引擎。
-
全栈:课程中不仅仅是只讲解后端(服务端)的开发知识,还包括前端(客户端)的网络通信知识,并且会在主流引擎工具实际应用。
-
跨平台:课程中的技术知识和设计方案可以应用在Windows/Linux /Android/IOS等主流操作系统上,支持Socket的其他语言也开始借鉴使用。
课程目标
1、掌握多平台C++程序的设计、编码、调试、发布。
2、掌握select、IOCP、epoll网络通信模型,不同场景选择最合适的模型。
3、掌握主流平台下使用C++ TCP进行网络通信。
4、掌握主流游戏引擎中使用C++ TCP与服务端通信。
5、掌握服务器开发性能优化技巧。
6、掌握不同平台下多线程、线程池、内存池的实现和运用。
7、掌握用C++开发具有百万级处理能力的高性能通信引擎(主要目标)。
教学计划
1、讲解如何搭建不同平台下的C++开发环境、共享代码库的应用。
2、讲解Socket网络通信基础知识(阻塞、非阻塞、粘包、消息结构)。
3、讲解前端(客户端)网络通信,并实际应用到商业工具引擎中。
4、讲解后端(服务端)网络通信,一步一步建立高性能服务器。
从1个用户连接->10000个用户连接,从每秒1个用户/1个数据包->10000用户/1百万个数据包,我们探索性能瓶颈,解决瓶颈,一步一步加入优化点,进行前后对比,深度解析每一个优化解决了那些问题。
5、案例分析,单服直连模式。
6、案例分析,集群方式。
7、案例分析,多线程模型、
8、案例分析,超大规模通信服务模型。
开发工具
-
windows:Windows10 + Visual Studio 20XX
-
Linux:Linux(ubuntu 16.04 64位)/GCC/Gedit 编辑器
-
Android:Windows 10 + Eclipse/ VS2015 + NDK + JDK + ADT + ANT
-
IOS/MacOS:MacOS(MacOS 10.12 64位)+ Xcode 9
-
辅助工具:虚拟机VMware Player、代码管理工具SVN、等其它辅助开发工具