ローカル ファイルを読み取り、ネットワーク (ローカルおよびインターネット) 経由で送信する場合、推奨または推奨されるバッファー サイズはありますか? Windows VM のページ サイズであるため 4k を使用していますが、これは遅延、帯域幅、ジッターなどの複雑な関数になる可能性があるため、ほとんどの場合にうまく機能する実装を理解したいと思います。コードの変更行数を最小限に抑えるためのより単純なソリューション (コード監査) を希望します。
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);
}
}