LogoLogo
日本語
日本語
  • Diarkis ヘルプセンター
  • Diarkis の概要
  • 始めよう
    • Diarkis サーバーテンプレート
    • Diarkis クライアント SDK
    • チュートリアル
      • 1. Diarkis サーバーをローカル環境で起動する
      • 2. テストクライアントで疎通確認する
      • 3. カスタムコマンドを実装する
      • Diarkis クライアントからサーバに接続する
    • サンプル
  • Diarkis のモジュール
    • Room モジュール
      • Room モジュールをサーバーでセットアップする
      • Room サンプル
        • room_broadcast
      • Room モジュールをクライアントから利用する
      • Room のその他の機能
    • MatchMaker モジュール
      • MatchMaker モジュールをサーバーでセットアップする
    • Field モジュール
      • Field モジュールをサーバーでセットアップする
    • P2P モジュール
      • P2P モジュールをサーバーでセットアップする
      • P2P サンプル
    • DM (Direct Message) モジュール
      • DM モジュールをサーバーでセットアップする
    • Notifier モジュール
      • Notifier モジュールをサーバーでセットアップする
    • Session モジュール
      • Session モジュールをサーバーでセットアップする
    • Group モジュール
      • Group モジュールをサーバーでセットアップする
  • Diarkis サーバー
    • Diarkis サーバをクラウド環境で起動する
      • AWS
    • Diarkis サーバーを Windows 環境で起動する
    • MARS サーバー
    • UDP サーバー
    • TCP サーバー
    • HTTP サーバー
    • Metrics API
    • サーバー間通信 - Mesh
  • Diarkis クライアント
    • ランタイム・ライブラリ
      • Diarkis RUDP
    • Diarkis Module
      • Diarkis Module の初期化と終了
      • Diarkis Module のカスタイマイズ
      • Diarkis Module のロギング・システム
      • マイグレーション
      • Diarkis のスレッド
    • サンプル
      • C++
        • room_broadcast
        • directmessage_simple
        • group_sample
        • matching_and_turn
        • matchmaker_ticker
        • p2p_rudp_sample
        • session_simple
      • Unreal Engine Plugin
        • FieldWalker
      • Unity Plugin
        • FieldWalker
          • HowToReplicatePosition.md
  • Diarkis ツール
    • Diarkis CLI
      • cgo を利用するプロジェクトをビルドする方法
      • Diarkis CLI v3 への切り替え手順
  • リファレンス
    • API リファレンス
    • リリースノート
      • v1.0
      • v1.0.1
      • v1.0.2
      • v1.0.3
      • v1.0.4
      • v1.0.5
      • v1.0.6
  • サポート
    • ライセンスと購入
GitBook提供
このページ内
  • 概要
  • 仕組み
  • NAT Types
  • サーバー・リレーへのフォールバック

役に立ちましたか?

  1. Diarkis のモジュール

P2P モジュール

前へField モジュールをサーバーでセットアップする次へP2P モジュールをサーバーでセットアップする

最終更新 1 か月前

役に立ちましたか?

概要

Diarkis P2P は、ユーザー・デバイスがサーバーを介さずに直接通信することを可能にします。

Diarkis サーバー・クラスターは、NAT トラバーサル技術を使用してクライアントのディスカバリーポイントとして機能します。

peer-to-peer 通信では、各パケット交換のためにサーバーが介在しないため、クライアント・デバイスはネットワーク遅延を最小限に抑えることができます。

Diarkis P2P は UDP ネットワーク・プロトコルのみをサポートし、RUDP(信頼性のある UDP)の独自実装を持ち、パケットの配送と順序を保証します。

接続されたデバイス間で交換されるパケットはすべて暗号化されており、暗号鍵は接続されたデバイス間の接続に固有のもので、安全な通信を確保します。

仕組み

peer-to-peer 通信には二つのステップが必要です。まず、クライアントは自分のアドレスを交換し、を行います。ホールパンチングが成功すると、クライアントはパケットを直接送受信することができます。

NAT Types

Diarkis P2P では、クライアント SDK にホールパンチング、いわゆる NAT Traversal の機能が含まれています。NAT Traversal は、ゲーム機のシステムやその他多くのネットワーク・アプリケーションで一般的に使用されている技術ですが、Diarkis P2P の大きな特徴は、通常のホールパンチング手法では接続が難しい Symmetric Cone 型のルーター に接続された端末とも、必ずではないものの 通信の確立が可能となる点 にあります。これにより、成功率の高い通信が期待できます。

NAT Type
Other Solutions
Diarkis

Full

○

○

Restricted

○

○

Port Restricted

○

○

Symmetric

✖︎

△

サーバー・リレーへのフォールバック

Diarkis P2P のユニークなアーキテクチャにより、クライアント・デバイスは Diarkis サーバー・クラスターとの接続を維持することができます。これにより、ピアツーピア接続が確立できなかった場合でも、通信を peer-to-peer からサーバー・リレーにフォールバックすることができ、すべてのユーザーがネットワーク設定に関係なく通信を続けることができます。

ホールパンチング