Image

课程简介

本教程主要讲解:1.windows IOCP服务器教学使用vs2019搭建windows IOCP服务器,定义数据结构,采用windows下的WSASocket接受新的连接,接收WSARecv数据,发送WSASend数据,使用自定义HasyArry保存连接玩家数据,增删改查时间复杂度O(1),性能高效。
2.Linux epoll服务器教学使用vs2019搭建linux epoll服务器,定义数据结构,采用标准c++ soceket接受新的连接,接收recv数据,发送send数据,使用自定义HasyArry保存连接玩家数据,增删改查时间复杂度O(1),性能高效。
3.UE5客户端教学使用UE5 vs2019搭建客户端框架,定义数据结构,使用UE5的SocketSubsystem 和服务器进行通信。支持跨平台windows,ios,android等

课程信息

教学总时长30小时使用软件:vs2019、vs2015、ue5、ue4、unity3d。
适用行业:游戏引擎;难易度:中级。

交流答疑

对于课程内容相关的疑问,提供有交流群,不但可以在群里与同学交流,分享资料,与教程内容有关的技术问题还可以进入答疑专区寻求帮助。老师一般会在2个工作日内为您解答。

课程目录

第一章:网络模型​
0101_OSI七层网络模型
0102_七层网络模型是如何发明的
0103_TCP,IP四层网络模型
0104_网络模型单位
0105_数据的封装和解封
0106_物理层介绍
0107_数据链路层
0108_网络层
0109_传输层

第二章:UDP介绍
0201_UDP头部格式
0202_UDP特点介绍
0203_UDP发送数据大小和MTU
0204_socket
0205_bind
0206_sendto发送数据
0207_recvfrom接受数据

第三章:UDP编程
0301_UDP服务器客户端编程步骤
0302_sockaddr与sockaddr_in区别
0303_windowsUDP工程
0304_初始化UDPScoket
0305_recvfrom接收数据
0306_sendto发送数据
0307_Cpp客户端测试
0308_优化改造工程
0309_10054和10022错误

第四章:vs2019开发跨平台linux
0401_使用VS2019开发LINUX程序
0402_ubuntu虚拟机软件安装
0403_vs2019 创建配置linux项目
0404_vs2019测试Linux

第五章:UDP多线程架构
0501_UDP服务器为什么使用多线程架构?
0502_封装UDP多线程类1
0503_封装UDP多线程类2
0504_UDPClientf封装
0505_linux工程测试1
0506_封装服务器接口类
0507_封装客户端接口类
0508_linux工程测试2
0509_获取socket缓冲区
0510_UDP客户端原理

第六章:UE5客户端搭建
0601_UE5 UDP函数介绍
0602_创建UE工程初始化SOCKET
0603_UE接收UDP数据
0604_UE发送UDP数据

0605_测试发送和接收数据
0606_UE多线程处理UDP数据

第七章:Unity3d客户端搭建
0701_unity3d UDP API介绍
0702_unit3d客户端搭建
0703_unity3d编辑器模式安全退出线程

第八章:UDP服务器数据结构搭建
0801_UDP服务器高可用数据框架
0802_玩家连接数据的定义
0803_XML数据导入
0804_HashArry容器建立
0805_UDP服务器维护玩家连接1
0806_UDP服务器维护玩家连接2
0807_数据生产者模式1
0808_数据生产者模式2
0809_数据消费者模式

第九章:C++客户端数据结构搭建
0901_客户端工作流程1
0902_客户端工作流程2
0903_工作线程生产数据
0904_主线程消费数据

第十章:业务层框架搭建
1001_业务层介绍
1002_业务层源码介绍
1003_掉线处理
1004_非常低的UDP延迟测试

十一章:Unity3d数据结构搭建
1101_数据定义
1102_连接服务器
1103_处理连接成功
1104_心跳包和掉线机制
1105_工作线程生产数据
1106_主线程消费数据
1107_业务层介绍
1108_和服务器交互测试
1109_发送字符串


十二章:UE5数据结构搭建

十三章:KCP介绍

十四章:KCP框架搭建

十五章:UE4多人交互

十六章:Unity3d多人交互

十七章:P2P点对点

多端支持

课程支持ios及Android端设备播放,您只需要登录各大手机应用平台,搜索“ABOUTCG学院“下载安装应用。

课程要求

本教学需要您对基础的3D概念和术语有一定的了解,比如Polygon,Edge,FaceAxis,Space,Map等。

相关课程