ネットワーク パフォーマンスのテスト
ネットワーク パフォーマンスのテスト
Microsoft® DirectPlay® は DP8Sim サービス プロバイダを提供している。このサービス プロバイダを使うと、長い遅延時間やパケット損失など、ネットワークのさまざまな状態において DirectPlay アプリケーションをテストできる。ネットワーク シミュレータは実際の開発環境でのテストに置き換わるものではないが、アプリケーションのパフォーマンスを予測するために役立つ。
また、独自のテスト環境を作成しない場合、DirectPlay は DP8Sim ユーティリティも提供する。アプリケーションで IDP8SimControl インターフェイスと DP8Sim サービス プロバイダを使う主な利点は、DP8Sim ユーティリティを使って手動でネットワーク設定を変更する代わりに、アプリケーションのデバッギング ユーザー インターフェイス (UI)、コマンド ライン、またはスクリプト ツールにネットワーク設定を統合できることである。
注 ネットワーク シミュレータは、既存の DirectPlay8 TCP/IP サービス プロバイダの上位に実装される。この設定も、既存のネットワーク特性の上位に適用される。そのため、通常の遅延時間およびパケット ロスを無視できる高速ローカル エリア ネットワーク (LAN) で使うことを前提としている。
DP8Sim サービス プロバイダの使い方
アプリケーションでネットワーク シミュレーション テストを実行するとき、通常の伝送制御プロトコル/インターネット プロトコル (TCP/IP) サービス プロバイダと DP8Sim サービス プロバイダを切り替えることができる。サービス プロバイダとしてネットワーク シミュレータを設定するには、次の 3 つの方法がある。
- すべてのサービス プロバイダを列挙し、[DirectPlay8 TCP/IP Service Provider (Network Simulator)] を選択する。
- IDirectPlay8Address::SetSP を使い、サービス プロバイダのグローバル一意識別子 (GUID) を明示的に設定する。
- pguidServiceProvider を CLSID_NETWORKSIMULATOR_DP8SP_TCPIP に設定して IDirectPlay8Peer::EnumServiceProviders、IDirectPlay8Server::EnumServiceProviders、または IDirectPlay8Client::EnumServiceProviders を呼び出す。
注 DP8Sim サービス プロバイダを列挙すると、DPN_SERVICE_PROVIDER_INFO 構造体の dwFlags メンバに DPNSPINFO_NETWORKSIMULATORDEVICE フラグが設定される。
次の例は、サービス プロバイダをネットワーク シミュレータに明示的に設定する方法を示している。
IDirectPlay8Address* g_pDeviceAddress;
.
.
.
hr = CoCreateInstance( CLSID_DirectPlay8Address, NULL, CLSCTX_INPROC_SERVER,
IID_IDirectPlay8Address,
(LPVOID*) &g_pDeviceAddress );
hr = g_pDeviceAddress->SetSP(&CLSID_NETWORKSIMULATOR_DP8SP_TCPIP );
DP8Sim サービス プロバイダを使うとき、DirectPlay は DPN_SP_CAPS に DPNSPCAPS_NETWORKSIMULATOR を設定する。