日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

游戏服务器开发

發布時間:2023/12/31 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 游戏服务器开发 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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可選

總結

以上是生活随笔為你收集整理的游戏服务器开发的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。