2009-03-18 7 views
0

ストリームはC#でどのように内部的に動作するのか知りたかったのですが、 StreamReaderとStreamWriterは内部でWinsockのrecv()send()の機能を使用しますか?ストリームとチャンネルの違いを知りたかったのです。C#のストリームとチャンネル

答えて

2

あなたはちょっと混乱していると思います。 StreamReaderStreamではなく、StreamWriterでもありません。 StreamはネットワークI/Oについては何も知りません。

NetworkStreamは、ネットワーク上で話をする方法を知っている流れですが、抽象Stream参照(または、むしろより抽象的な)とStreamReaderStreamWriter作品。

NetworkStreamSocketクラスを使用していますが、それ以外のものは実際にはWinsock APIを呼びますが、実際にはそれを知る必要はありません。

「チャネル」と呼ばれるものは何もありません。おそらくもっと具体的なものかもしれません。

+0

ソケットは、非同期操作とIO完了ポートの使用を許可するため、ReadFile/WriteFileを使用する可能性が高くなります。 – Richard

0

私はストリームが唯一のネットワークIOのために使用されていないので、彼らは、内部のwinsockを使用していない賭けるだろう - 彼らは(メモリのチャンクを移動する、ロードするファイルなど)のものがたくさん

に使用していますを編集する - 私はAC#チャンネルのことを聞いたことがありませんし、Googleは何も持ちませんか?

0

チャネルは、Windows Communication Foundation(.NET 3.0で利用可能)を通じて参照されています。

ストリームとチャネルは直接関係しません。 MSDNにあるWindows Communication Foundation documentationを参照する必要があります。

もう一つの素晴らしいリソースは、Indigo GirlとギャングでIDesign.NETです。

セキュリティを忘れないでください。 WCFSecurity