ENet

作成日
更新日

ENetの目的は、UDP(User Datagram Protocol)の上に、比較的薄く、シンプルで堅牢なネットワーク通信レイヤーを提供することである。ENetが提供する主な機能は、オプションで提供される信頼性の高いパケットのインオーダーデリバリーである。

ENetは、認証、ロビー活動、サーバーの発見、暗号化など、特にアプリケーションに特化した、より高度なネットワーク機能を省いています。

http://enet.bespin.org/index.html

ENet(Efficient Networking Library)は、リアルタイム性を重視したネットワークアプリケーション向けに設計された、軽量・高速な UDP ベースの通信ライブラリ。
Godot エンジンの ENetMultiplayerPeer の内部通信に採用されている。

特徴

項目 ENet TCP
ベースプロトコル UDP TCP(信頼性あり)
データの信頼性 選択的に保証(信頼・非信頼) すべてのデータが信頼性あり
パケット順序 指定可能 常に順序保証
オーバーヘッド 低い 高い
リアルタイム向き ❌(特に遅延に弱い)

ENet の信頼・非信頼モードの違い

  • 信頼性あり(Reliable)

    • パケットのロスが検出されると再送される
    • 順序を守ることも可能
    • プレイヤーの参加・退出イベント、チャットなどに適している
  • 信頼性なし(Unreliable)

    • パケットの損失はそのまま無視
    • 順序も保証されない
    • キャラの位置、弾丸の位置など「最新だけ知りたい」情報に適している
サイトアイコン
公開日
更新日