读取本地文件并通过网络(本地和互联网)发送它时,是否有任何建议或推荐的缓冲区大小?我们使用 4k,因为它是 Windows VM 页面大小,但由于这可能是延迟、带宽、抖动等的复杂函数,我想了解在大多数情况下可以做得很好的实现。我们希望有一个更简单的解决方案来最小化代码更改行(代码审计)。
using (var destFs = new NetworkStream(URI, FileMode.OpenOrCreate))
{
var buffer = new byte[4*1024]; // <= better buffer size?
int bytesRead;
while ((bytesRead = fs.Read(buffer, 0, buffer.Length)) > 0)
{
destFs.Write(buffer, 0, bytesRead);
}
}