私が知っているのは、(HTTP、ftp、smtp)はアプリケーション層の一部であり、tcp(伝送制御プロトコル)と対話して受信データを介してデータを送信することですが、WCF で net.tcp:// を使用するとどうなるかということですデフォルトのアプリケーション層プロトコル。
1 に答える
HTTP、FTP は実際にはアプリケーション層であり、アプリケーションがそれらを使用することを意味します。TCP のような信頼できるメディアを使用して通信し、バイナリ エンコードされたデータを送信するチャット アプリケーションは、ftp smtp のような独自の通信プロトコルを持つアプリケーション層の別のアプリケーションと見なされ、独自の規則があります。単純に net:tcp も有線でバイナリで通信するため、80、21 などの定義済みポートを使用しない場合は、別のアプリケーションと見なす必要があります。
NetTcpBinding は、デフォルトでランタイム通信スタックを生成します。これは、トランスポート セキュリティ、メッセージ配信用の TCP、およびバイナリ メッセージ エンコーディングを使用します。このバインドは、イントラネット経由で通信するための適切なシステム提供の選択肢です。
http://msdn.microsoft.com/en-us/library/system.servicemodel.nettcpbinding.aspx
他のバインディングとの比較用
http://blog.shutupandcode.net/?p=1085
そしてTCPスタックのアプリケーション層について
アプリケーション層は、ネットワークを介して他のプログラムと通信するために、最も一般的なネットワーク対応プログラムが使用する層です。この層で発生するプロセスはアプリケーション固有です。データは、このアプリケーションによって内部的に使用される形式でネットワーク対応プログラムから渡され、標準プロトコルにエンコードされます。
一部の特定のプログラムは、このレイヤーで実行されると見なされます。ユーザーアプリケーションを直接サポートするサービスを提供します。これらのプログラムとそれに対応するプロトコルには、HTTP (The World Wide Web)、FTP (ファイル転送)、SMTP (電子メール)、SSH (安全なリモート ログイン)、DNS (名前 <-> IP アドレス ルックアップ) などがあります。
アプリケーションからのデータが標準のアプリケーション層プロトコルにエンコードされると、IP スタックの次の層に渡されます。
http://www.starlancs.com/EducateMe/educate_IP_stack.html
ここでの文言には、アプリケーション層には、標準プロトコル (理解できるプロトコル) に内部的にエンコードされたデータを消費するプロセス/プログラムが含まれていることに注意してください。
プロトコルは、通信のための単なる合意です。アプリケーションが通信するための独自のプロトコルを構築することもできます。
これが理解に役立つことを願っています。
よろしく。