libquicknet
簡單、小型、可靠的遊戲 UDP 網路庫
❗ libquicknet 正在開發中,不適合生產程式碼❗
該庫的主要目標是需要即插即用、快速網路子系統的遊戲原型或即興遊戲。
非常容易啟動和運行!
特徵:
- 面向連接的 UDP 協議,具有 3 步握手
- 客戶端<->伺服器和點對點支援
- 頻寬使用率低
- 排序/非排序可靠/不可靠支持
- 用於可靠訊息的快速冗餘確認系統
- 伺服器發現(僅限 LAN)
- 完整的校驗和系統以避免訊息損壞
- 發送時可選的訊息合併
- 固定可選發送速率
- 重複訊息偵測
- 假延遲和丟包支持
- Ping 和往返時間估計
- 跨平台(Windows/Linux)
未來的特點:
- 時間同步
- 確定性系統的 RNG 同步
- 位元打包和壓縮
- 握手時進行金鑰交換的對稱加密
- NAT穿越與穿透
- 位元組序意識
- 完善確認制度
安裝
刪除專案中的所有原始檔案並編譯!
用法
- 包括quicknet_peer.h
- 創造quicknet::Peer 的後代
- 重寫 OnConnection、OnDisconnection 和 OnGameMessage 方法
- 依照 Quicknet_messagetypes.h 中的說明定義自訂遊戲訊息
- 在 Quicknet_messagelookup.h 中包含您的訊息 ID
- 準備好!
對於一個簡單的例子,請檢查 test.cpp
背景
這個庫是在一周內編寫完成的,即使它功能齊全,仍然需要大量工作才能使其變得更好!
仍然有很多硬編碼的東西需要注意,但我會嘗試將其變成一個易於自訂的庫。