Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何估计从NetworkStream读取的字节数组/缓冲区的大小?_C#_.net_Buffer_Networkstream - Fatal编程技术网

C# 如何估计从NetworkStream读取的字节数组/缓冲区的大小?

C# 如何估计从NetworkStream读取的字节数组/缓冲区的大小?,c#,.net,buffer,networkstream,C#,.net,Buffer,Networkstream,我需要从一个网络流中读取数据,该网络流将以高速率连续传输传入数据。我想知道 设置bufferSize值的依据是什么 是否有一个标准的“安全”值 可以选择,而不考虑 环境 它是否也应随水流而变化 我正试着从我的书里读 (FileStream/NetworkStream/) 请将性能作为评估的重点。 只有一个确定的方法来优化性能:度量、度量、度量。< /P> 我见过1024、4096或8192用作从internet下载文件的缓冲区大小,但我没有注意到使用这两种缓冲区有任何显著差异。请注意,819

我需要从一个网络流中读取数据,该网络流将以高速率连续传输传入数据。我想知道

  • 设置
    bufferSize
    值的依据是什么
  • 是否有一个标准的“安全”值 可以选择,而不考虑 环境
  • 它是否也应随水流而变化 我正试着从我的书里读 (FileStream/NetworkStream/)

请将性能作为评估的重点。

只有一个确定的方法来优化性能:度量、度量、度量。< /P>


我见过1024、4096或8192用作从internet下载文件的缓冲区大小,但我没有注意到使用这两种缓冲区有任何显著差异。

请注意,8192实际上是您应该使用的最高缓冲区,因为Winsock内部缓冲区是8k。不确定这在较新版本的Windows中是否发生了变化。因此,我是否应该始终最大化读取缓冲区以获得最佳性能?很难相信没有人能回答这个问题!甚至没有指向最佳方法的指针..:-\
int bufferSize = 8192;
Byte[] buffer = new Byte[bufferSize];