在套接字的上下文中,C#网络流和内存流之间的区别是什么



我想通过套接字传输数据,目前我正在创建一个内存流。

我也可以使用网络流。

有人能帮我理解c#网络流和内存流之间的区别吗?

NetworkStream与套接字直接相关;它不知道自己的长度,您无法查找,并且读/写函数直接绑定到接收/发送API(因此,读和写完全不相关)。它可能会超时,如果等待更多数据,读取可能需要相当长的时间。

CCD_ 2基本上是本地CCD_。它有一个已知的长度(可以改变),你可以搜索,读/写是直接相关的:两者都增加相同的位置光标,你可以写一些东西,倒带,然后读。所有的操作都非常及时。

问"有什么相似之处"可能更容易,简单地说:由于是Stream的子类,两者都有一个读/写API。

这两个流都是Stream的派生,这两个类是用于不同用途的翘曲器

根据我的理解,网络流从网络接口读取,如果你使用内存流(我的意思是,在相同的场景中),所有数据将首先加载到内存中(我假设它读取到实际流的末尾),然后读取操作将从内存中读取。

对内存流进行的第一次读取操作,需要将所有数据加载到内存中。

在网络流中,您可以在数据到达时读取数据。

相关内容

最新更新