Share via


DirectPlay ネットワーク通信

DirectPlay ネットワーク通信

Microsoft® DirectPlay® の最大の機能は、ユーザーに、アプリケーションを基本となるネットワーク ハードウェアおよびソフトウェアから大きく隔離し、効率的で柔軟なメッセージング サポートを提供することである。状態の更新を送信する必要がある場合、使用中のネットワーク リンクの種類に関係なく、該当の DirectPlay アプリケーション プログラミング インターフェイス (API) を呼び出せる。DirectPlay ネットワーク サービス プロバイダは、Transmission Control Protocol/Internet Protocol (TCP/IP)、Internetwork Packet Exchange (IPX)、モデム、シリアル リンクによる通信をサポートする。

 DirectPlay はセキュリティで保護された通信は提供していない。

  • DirectPlay トランスポート プロトコル
  • DirectPlay アドレス

DirectPlay トランスポート プロトコル

DirectPlay ネットワーキング能力の中心となるのは、DirectPlay プロトコルである。このトランスポート レイヤ プロトコルは、DirectPlay 8 用に完全にオーバーホールされ、すべてのメッセージングに使われている。DirectPlay プロトコルは、送信中に何が起こっているかを心配する必要なく、送信側アプリケーションからターゲット アプリケーションへのデータ送信を簡単にすることに焦点を置いている。このプロトコルは、マルチプレーヤ ゲームの必要性に応じて調整された、次のような機能を提供する。

  • 信頼性の高いメッセージ配信と信頼性の低いメッセージ配信。信頼性の高いメッセージは、ターゲット アプリケーションがメッセージを受け取るまで再送信される。配信のタイプは、メッセージごとに割り当てることができる。
  • シーケンシャル メッセージ配信と非シーケンシャル メッセージ配信。シーケンシャル メッセージは、送信された順にターゲット アプリケーションに渡される。
  • メッセージの分割と再構築。メッセージ サイズがネットワークの容量を超える場合、DirectPlay は自動的にメッセージを分割して再構築する。
  • 混雑の制御。DirectPlay は、処理中のメッセージをターゲットが処理できるレベルまで自動的に抑制する。この機能によって、ターゲットに処理できないほど大量のメッセージが送信されないようにする。
  • 送信の優先順位付け。重要なメッセージほど早く送信するために、DirectPlay では、メッセージに低、標準、高の優先順位を割り当てることができる。優先順位の高いメッセージが出力キューの正面に送信され、その後、標準優先順位、優先順位の低いメッセージが送信される。
  • メッセージのタイムアウト。現在処理中のメッセージ キューが、新しいメッセージによって押しやられた古いメッセージで滞ることがないように、DirectPlay では、すべてのメッセージにタイムアウト値を割り当てることができる。メッセージがタイムアウトすると、そのメッセージは、送信済みかどうかに関係なく、処理中のメッセージ キューから削除される。

DirectPlay アドレス

メッセージを配信するには、マルチプレーヤ ゲームの各参加者が一意のアドレスを持っている必要がある。このアドレスは、アプリケーションを実行しているコンピュータ (デバイス アドレス) か、アプリケーションが通信する必要のあるコンピュータ (ホスト アドレス) を表す。

DirectPlay アドレスは、URL 文字列の形態になる。これらの文字列は、次に示す一般形式のスキーム、スキーム セパレータ、およびデータ文字列で構成される。

x-directplay:/[data string]

データ文字列にはいくつかの要素が含まれている。これらの要素は、発信者とターゲットが各種ネットワーク リンクを介して通信を行うために必要なものをすべて指定する。

使用にあたっては、URL 文字列は DirectPlay API メソッドとやり取りされる DirectPlay アドレス オブジェクトに埋め込まれる。URL 文字列を直接操作するか、またはアドレス オブジェクトによって公開されるメソッドを使って、データ文字列の各要素を個別に処理できる。