学习目标:
1、掌握多平台C++程序的设计、编码、调试和发布
2、掌握Select、IOCP、epoll 网络通信模型
3、掌握主流平台下使用C++ 进行TCP网络通信
4、掌握游戏引擎中使用C++ TCP通信
5、掌握后端开发性能优化技巧
6、掌握多线程、内存管理(内存池、对象池)的实现和运用
第一讲:运用C++和Socket API构建百万级处理能力网络通信引擎
首先感谢伟大的刘远东老师!!!
1、不到2000行代码的Select模型服务端程序
(1)Socket Select 模型客户端 SocketClient
(2)Socket Select 模型服务端 CELLSocketServer
(3)网络消息协议解封包结构 CELLSocket MessageHeader
(4)内存代理 CELLDelegate
(5)临界区锁 CELLMutex
(6)多线程 CELLThread
(7)精准计时器 CELLTimestamp
第一节:Socket基础API
Socket可以当成文件操作。
客户端中:建立一个Socket相当于声明一个文件指针;连接服务器相当于打开文件;向服务器发送数据相当于fwrite文件,接收服务端数据相当于fread文件;关闭连接相当于关闭文件。 客户端通过IP地址和端口号定向连接到服务器。
服务端中:7步实现网络交互。与客户端不同的是,服务端需要绑定端口,监听端口并阻塞等待客户端连接。服务端共3步阻塞