8

WCF を学習しているときに、WCF が HTTP 、 TCP 、 Named Pipes 、および MSMQ をトランスポート プロトコルとしてサポートしていることがわかりました。ただし、Http はアプリケーション層プロトコルであり、TCP をトランスポート プロトコルとして使用します。では、TCP をトランスポート層として使用する場合、WCF のトランスポート プロトコルとしての Http は何を意味するのでしょうか。

4

1 に答える 1

8

TCP 以外のネットワーク スタックの観点からは、リストしたものはすべて、TCP を介して通信するアプリケーション層プロトコルです (少なくとも、最新のシステムでは)。

ただし、WCF に関する限り、それは問題ではありません。この意味での「トランスポート プロトコル」はまさにその通りです。つまり、エンドポイントからエンドポイントに情報を転送するためのプロトコルです。この意味で、トランスポート プロトコルは、メッセージの内部構造、配信メカニズム、利用可能な追加機能などを定義します。これらすべての側面を見ると、HTTP、HTTPS、MSMQ、および名前付きパイプ プロトコルは次のようになります。すべてが互いに異なります。しかし内部では、最終的にはすべて TCP パケットを生成します。(UDP を使用する WCF 用のカスタム トランスポートを構築できますが、組み込みのトランスポートでは構築できないと思います。)

このコンテキストでは、TCP トランスポートを「生の TCP」トランスポートと呼ぶ方が適切かもしれません。これは、WCF に固有のカスタムの低レベル バイナリ メッセージ形式を使用し、他のどのトランスポート プロトコルよりもはるかに低いオーバーヘッドを持っています。技術的には、そのメッセージ形式は TCP の上層にあるアプリケーション プロトコルですが、名前がなく、完全に WCF の内部にあるため、単に "TCP トランスポート プロトコル" と呼ばれます。

于 2012-08-29T13:43:19.447 に答える