游戏服务器开发

游戏服务器开发_第1张图片

1 2-课程概述

https://www.bilibili.com/video/BV1Ks41177oi?from=search&seid=5543458349378694564

游戏服务器开发_第2张图片

游戏服务器开发_第3张图片
游戏服务器开发_第4张图片
在这里插入图片描述
nodejs lua在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
游戏服务器开发_第5张图片
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
游戏服务器开发_第6张图片
在这里插入图片描述
游戏服务器开发_第7张图片
游戏服务器开发_第8张图片
STL

IO

语言方面 精简

不像Python

无统一

在这里插入图片描述
在这里插入图片描述
游戏服务器开发_第9张图片
游戏服务器开发_第10张图片

游戏服务器

工作量 不是 网络连接

是 逻辑的 实现在这里插入图片描述
游戏服务器开发_第11张图片

定义 一个 struct

有两个成员

指针 和 值 游戏服务器开发_第12张图片
在这里插入图片描述

2 3-IP详解第一部分

游戏服务器开发_第13张图片
游戏服务器开发_第14张图片
二战 大量科学家 流入美国游戏服务器开发_第15张图片
计算机 标准 规范 IP游戏服务器开发_第16张图片

上个世纪 60 年代

无线电 卫星游戏服务器开发_第17张图片
游戏服务器开发_第18张图片

Dos 还没有

星际争霸 有个协议 游戏服务器开发_第19张图片
开放系统 通讯 交互 模型

七层 打包 剥离

学术层 精细

生产应用层游戏服务器开发_第20张图片游戏服务器开发_第21张图片

一个层 好多个 协议

以太网 也 可以有 其他 连接方式

Transport —》 UDP TCP 游戏服务器开发_第22张图片
包头 包尾 检查 错误

数据 放到 footer 接收方 校验 是否是 frame data 那么多

Link 也有除了 以太网 这 种封装方式 以外的

操作系统 做好了

封装 对 framedata 长度 有要求

46字节 最少 可以 用 00填充

1500字节

标准 802.3 1492 字节 MTU 最大传输单元

消息 大于 就在 IP分片

1M 在 Link 链路层 要 拆成 多少个 包

猫~ 200多个 字节

打包 限定是由 最小 那个 决定 (小水管 )

游戏服务器开发_第23张图片
打印 值 与 地址 游戏服务器开发_第24张图片
发布版本 编译 游戏服务器开发_第25张图片
游戏服务器开发_第26张图片
游戏服务器开发_第27张图片
游戏服务器开发_第28张图片

debug 方式

发布 版本 地址 值 差

4 8

64 位

为什么 值差 不一样

3 5-IP详解第二部分

游戏服务器开发_第29张图片

IP协议 不能保证 IP 数据报 能够 成功 到达 目的地

提供 最好的 传输服务

中间 Router 内存 用完

ip层 简单 处理 丢掉 整个 数据包

发送 ICMP 协议 消息 传达回来

所以 用 TCP 协议 来保证 消息 送达

IP不维护 后续 传递 信息 的 状态

每个数据报 相互 独立

可以 不按照 顺序 进行发送

也可以 各个 数据包 不同路由选择链路 途径 发送 A-> B 1 2 B收到 2 1

同一个 计算机 就可以保证 顺序

游戏服务器开发_第30张图片

操作系统 是 另一个 从 尾开始 little endian 先传 最后面的 依次

但是 在 网络中 传输 是 BIg endian

跟 cpu 相关

内存地址 存储方式

Header 最小 20 字节

ipv4 6 版本 前 4个bit

在对[数据流] 进行流分类时,

在三层通过标记IP包头的TOS字段服务类型(TOS)

(8 bit)字段包括

一个3 bit的优先权子字段(现在已被忽略),

4 bit的TOS子字段和

1 bit未用位但必须置0。

4 bit的TOS分别代表:最小时延、最大吞吐量、最高可靠性和最小费用。

游戏服务器开发_第31张图片
8bit 1 字节

16位表示

小端 little endian 最高位 放在后

大端 BIg endian 最低位 放在后

验证 系统 是 大端 还是 小端 系统

游戏服务器开发_第32张图片
link - Internet 层 -1 TTL

32 64 传递 -1 减到0 时 就 丢掉 再返回 个 错误信息

8bit 定义 传输 协议 TCP/UDP

16 bit 校验包头 看是否出错在这里插入图片描述

32位 整形 最多 表示 多少个 数 42 亿

上世纪 60 年代

ipv6 128bit

跟硬件

租用服务器 关系 带宽

强连接 特定 场合游戏服务器开发_第33张图片
联合 特殊的类 通过关键字union进行定义,一个union可以有多个数据成员

union 成员 共用 内存地址

4个 字节 的 int8 位 数组

和int32 的 整数

大小 一样 4个 字节 内存

游戏服务器开发_第34张图片
游戏服务器开发_第35张图片
游戏服务器开发_第36张图片
游戏服务器开发_第37张图片

容器 C++ 算法

c++ vector 类似于 数组

比数组安全

容量可拓展

STL 熟悉 好写 标准库 游戏服务器开发_第38张图片
子网 子网寻址游戏服务器开发_第39张图片

以太网 网卡

ip 地址 内网 子网掩码

Router location host

4 TCP

游戏服务器开发_第40张图片
游戏服务器开发_第41张图片

无连接 不可靠

数据块 报文段 TCP---->IP层

TCP 发完消息建立一个 Timer

收到数据包 确认 (延时确认)

延时超时 发包几次 消息 无法送达

以太网帧 1500字节 最大

往上 转 一层一层 防止 很多 包 一个一个 回

很短时间 内 传输速度 可以的 话 只 确认 一次就行

首部 数据 校验和

看数据 有没有错 有一个响应 保证 TCP层 没有错

流量控制 客户端 服务端 TCP 发送 接收方

都 分配 固定足够 内存

接收 只允许 接收 发过来的 定量数据 防止 网速慢 然后 一堆发过来(能要多少 给多少)

防止 较快 机器 把 较慢 机器 缓冲区 用完 (无法提供服务 )

TCP 把 应用程序 的 数据 封装 (字节流 )

不知道 粘包 。。。 先收 或者 后收 或者 一起 全收了

IP 可能重复 乱序

TCP 纠正游戏服务器开发_第42张图片

以太网 最小 数据 传输 46字节

IP 20 TCP 20 字节

6 个字节 补零

带不带数据 对 链路层 没关系

应用层 有关系

IP + Port ==== Socket (插口配对 )

包 标记 sequence number

确认 消息包 Ack (ACK 标记 设置后 有作用) Acknowledgement number

跟 延时确认有关

发一个 确认 消息 后 确认 了 上次 发回来 的 哪个 包 是 OK的

​ 12字节 前

checknum 检验和 windows可选

你可能感兴趣的:(编程开发,网络,tcp/ip,游戏程序,游戏引擎)