次の方法で共有


メッセージ処理の基本

メッセージ処理の基本

メッセージという用語は、このドキュメントで使われる場合、別のコンピュータに送信する必要があるデータ ブロックを意味する。ネットワーク プロトコルは、対象のネットワーク アドレスなどの情報を保持するデータ ブロックにいくつかのビットを追加して、パケットを作成する。このパケットが、ネットワーク データの基本単位となる。パケットがターゲットに届くと、ターゲットのネットワーク プロトコルが、余分のビットを削除し、受け側のアプリケーションにそのデータ ブロックを渡す。

メッセージという用語とパケットという用語は同じように使われるが、厳密には同じではない。このドキュメントでは、Microsoft® DirectPlay® アプリケーション プログラミング インターフェイス (API) とやり取りする情報の単位を、メッセージと表現する。また、ネットワークが処理する情報の単位を、パケットと表現する。パケットは、DirectPlay 内部で処理される。ごく稀な例外を除き、DirectPlay アプリケーションではメッセージだけを処理すればよい。

メッセージパケットを区別する主な理由は、通常、ネットワークが処理するパケットの最大サイズが制限されるためである。このサイズを、最大伝送単位 (MTU) と呼ぶ。メッセージが小さい場合は、メッセージが単独パケットで送信されるため、2 つの用語は事実上同義である。一方、大きいメッセージは、複数のパケットに分割して送信し、受け側で再構成しなければならないことがある。DirectPlay プロトコルでは、メッセージの分割および再構成が必要に応じて自動的に処理される。どちらの場合も、アプリケーションに関する限り、メッセージを送信し、ターゲットがそれを受け取るということは変わらない。

  DirectPlay は、任意のサイズのメッセージを配信する。ただし、単独メッセージに必要なパケット数が増えるほど、パケットが失われ、再送信しなければならない確率が高くなる。したがって、分割および再構成が必要な大きいメッセージでは、通常、単独パケットのメッセージよりネットワークの遅延時間が大きくなる。ネットワークの遅延時間を最小限に抑える必要がある場合は、(ネットワークの損失が多い場合には特に) 大きなメッセージの送信を避けること。接続で 1 つのパケットに含めることができる最大のメッセージ サイズを判断するには、IDirectPlay8PeerIDirectPlay8ClientIDirectPlay8Server インターフェイスが公開する GetSPCaps メソッドを呼び出す。