游戏服务器开发

在这里插入图片描述

1 2-课程概述

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

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
nodejs lua在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
STL

IO

语言方面 精简

不像Python

无统一

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

游戏服务器

工作量 不是 网络连接

是 逻辑的 实现在这里插入图片描述
在这里插入图片描述

定义 一个 struct

有两个成员

指针 和 值 在这里插入图片描述
在这里插入图片描述

2 3-IP详解第一部分

在这里插入图片描述
在这里插入图片描述
二战 大量科学家 流入美国在这里插入图片描述
计算机 标准 规范 IP在这里插入图片描述

上个世纪 60 年代

无线电 卫星在这里插入图片描述
在这里插入图片描述

Dos 还没有

星际争霸 有个协议 在这里插入图片描述
开放系统 通讯 交互 模型

七层 打包 剥离

学术层 精细

生产应用层在这里插入图片描述在这里插入图片描述

一个层 好多个 协议

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

Transport —》 UDP TCP 在这里插入图片描述
包头 包尾 检查 错误

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

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

操作系统 做好了

封装 对 framedata 长度 有要求

46字节 最少 可以 用 00填充

1500字节

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

消息 大于 就在 IP分片

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

猫~ 200多个 字节

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

在这里插入图片描述
打印 值 与 地址 在这里插入图片描述
发布版本 编译 在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

debug 方式

发布 版本 地址 值 差

4 8

64 位

为什么 值差 不一样

3 5-IP详解第二部分

在这里插入图片描述

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

提供 最好的 传输服务

中间 Router 内存 用完

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

发送 ICMP 协议 消息 传达回来

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

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

每个数据报 相互 独立

可以 不按照 顺序 进行发送

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

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

在这里插入图片描述

操作系统 是 另一个 从 尾开始 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分别代表:最小时延、最大吞吐量、最高可靠性和最小费用。

在这里插入图片描述
8bit 1 字节

16位表示

小端 little endian 最高位 放在后

大端 BIg endian 最低位 放在后

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

在这里插入图片描述
link - Internet 层 -1 TTL

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

8bit 定义 传输 协议 TCP/UDP

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

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

上世纪 60 年代

ipv6 128bit

跟硬件

租用服务器 关系 带宽

强连接 特定 场合在这里插入图片描述
联合 特殊的类 通过关键字union进行定义,一个union可以有多个数据成员

union 成员 共用 内存地址

4个 字节 的 int8 位 数组

和int32 的 整数

大小 一样 4个 字节 内存

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

容器 C++ 算法

c++ vector 类似于 数组

比数组安全

容量可拓展

STL 熟悉 好写 标准库 在这里插入图片描述
子网 子网寻址在这里插入图片描述

以太网 网卡

ip 地址 内网 子网掩码

Router location host

4 TCP

在这里插入图片描述
在这里插入图片描述

无连接 不可靠

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

TCP 发完消息建立一个 Timer

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

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

以太网帧 1500字节 最大

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

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

首部 数据 校验和

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

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

都 分配 固定足够 内存

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

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

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

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

IP 可能重复 乱序

TCP 纠正在这里插入图片描述

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

IP 20 TCP 20 字节

6 个字节 补零

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

应用层 有关系

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

包 标记 sequence number

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

跟 延时确认有关

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

​ 12字节 前

checknum 检验和 windows可选

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

amingMM

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值