Microsoft DirectX 8.0 (C++)

クライアント/サーバー ホストの選択

セッションのホストは、当然、サーバー アプリケーションが担当する。セッションに加わるには、クライアント アプリケーションでホスト サーバーのアドレスを判断する必要がある。通常、ホストの選択はロビー サーバーを通じて行う。この場合、ユーザーのアプリケーションがセッションに接続されると、DPL_MSGID_CONNECT メッセージと共に接続設定が届き、その接続設定にホストのアドレス オブジェクトが含まれている。関連する構造体の pdp8HostAddress メンバは、ホストのアドレスが入ったアドレス オブジェクトを指す。

また、IP または IPX サービス プロバイダを使用しているサーバーでは、そのサーバーがセッション ホストであることを公表して、(たとえば LAN サブネット上で) "ある要素を全要素にコピーするセッション" を作成することもできる。ある要素を全要素にコピーするセッションを作成するには、IDirectPlay8Server::SetServerInfo を呼び出してサーバー情報を設定する。次に IDirectPlay8Server::Host を呼び出して、セッション自体がセッション ホストであることを公表する。ゲームの構成は、IDirectPlay8Server::HostpdnAppDesc のパラメータで渡す DPN_APPLICATION_DESC 構造体に値を割り当てて指定する。

利用可能なセッションとホストをユーザーに知らせるには、クライアント アプリケーションで IDirectPlay8Client::EnumHosts を呼び出せば、利用可能なホストを照会できる。ユーザーがホストを選択すると、接続を要求できるようになる。