我想知道流如何在c#内部工作。 StreamReader和StreamWriter是否在内部使用Winsock的recv()
和send()
函数。我也想知道流和频道之间的区别。
答案 0 :(得分:2)
我觉得你有点困惑。 StreamReader
不是Stream
,也不是StreamWriter
。 Stream
对网络I / O一无所知,因为它被进一步抽象出来。
NetworkStream
是一个知道如何在网络上通话的流,但StreamReader
和StreamWriter
使用抽象Stream
引用(或者更抽象)。
NetworkStream
使用Socket
类,其他所有类实际上都调用了Winsock API,但是你并不需要知道任何有关它的信息。
没有什么叫做“频道”,也许你可能更具体。
答案 1 :(得分:0)
我敢打赌他们不会在内部使用winsock,因为流不仅用于网络IO - 它们用于很多东西(移动内存块,加载文件等)
修改 - 我从来没有听说过c#频道,谷歌也没有提起任何内容?
答案 2 :(得分:0)
整个Windows Communication Foundation引用了通道(在.NET 3.0中可用)。
流和渠道没有直接关系。您应该参考MSDN上的Windows Communication Foundation documentation。
另一个重要资源是Indigo Girl和帮派IDesign.NET。
不要忘记安全。 WCFSecurity