netstack
1.0.0
電池包括用於遊戲的網路箱。
[dependencies]
netstack = "0.3.0"
文件(正在進行中)
如果您有建議、錯過功能或只是想取得聯繫,您可以在此存儲庫中提出問題或在 Twitter 上聯繫我。
為了在生產中有效地使用 netstack,您需要一個安全通道來交換初始金鑰和連線令牌。建議使用 https,但這取決於您。這些範例使用 http 伺服器。
(☑️表示已實施,?表示計劃中或正在開發中)
基於io_uring
、 IOCP
或epoll
的傳輸目前超出了範圍。
此板條箱不實現基於確認和超時的重傳。遊戲還有其他實現可靠性的方法,主要是因為當任何基於超時的機制檢測到丟失的資料包時,資訊已經過時。
例如,FPS 會在每個資料包中發送最後幾幀的玩家輸入,因此當其中一個資料包在線上遺失時,下一個資料包會填補空白。
從伺服器到客戶端的遊戲狀態壓縮通常是基於客戶端確認的最後一個資料包。為此,請使用MessageAcknowledged
事件和send
傳回的序號。
請參閱範例目錄中的客戶端/伺服器範例,使用以下命令來執行它們:
cargo run -p server
cargo run -p client
Netstack 附帶了一個正在進行中的用於結構(以及後來的枚舉)的衍生巨集。
# [ derive ( Debug , Serialize , Deserialize ) ]
pub struct Greeting {
pub id : u32 ,
pub to : String ,
pub message : String ,
}
麻省理工學院