リブクイックネット
ゲーム用のシンプルで小規模で信頼性の高い UDP ネットワーク ライブラリ
❗ libquicknet は開発中のため、製品コードには適していません ❗
このライブラリの主なターゲットは、プラグアンドプレイの高速ネットワーキング サブシステムを必要とするゲーム プロトタイプまたはジャム ゲームです。
立ち上げて実行するのは非常に簡単です。
特徴:
- 3 ステップのハンドシェイクを備えたコネクション指向の UDP プロトコル
- クライアント<->サーバーおよびピアツーピアのサポート
- 帯域幅の使用量が少ない
- シーケンスあり/シーケンスなし 信頼できる/信頼できないサポート
- 信頼性の高いメッセージを実現する高速冗長確認応答システム
- サーバー検出 (LAN のみ)
- メッセージの破損を防ぐための完全なチェックサム システム
- 送信時に結合するオプションのメッセージ
- 選択可能な固定送信レート
- 重複メッセージの検出
- 偽のレイテンシとパケット損失のサポート
- Ping とラウンドトリップ時間の推定
- クロスプラットフォーム (Windows/Linux)
将来の機能:
- 時刻同期
- 決定論的システムのための RNG 同期
- ビットパッキングと圧縮
- ハンドシェイク時の鍵交換による対称暗号化
- NATトラバーサルとパンチスルー
- エンディアンネスの認識
- 承認システムを改善する
インストール
すべてのソース ファイルをプロジェクトにドロップしてコンパイルしてください。
使用法
- Quicknet_peer.h をインクルードする
- Quicknet::Peer の子孫を作成します
- OnConnection、OnDisconnection、および OnGameMessage メソッドをオーバーライドする
- Quicknet_messagetypes.h の指示に従ってカスタム ゲーム メッセージを定義します。
- メッセージIDをquicknet_messagelookup.hに含めます。
- 準備ができて!
簡単な例については、test.cpp を確認してください。
背景
このライブラリは 1 週間で作成されました。完全に機能するとしても、さらに改良するには多くの作業が必要です。
まだ注意が必要なハードコードされたものがたくさんありますが、これを簡単にカスタマイズできるライブラリに変えてみます。