现在我有一个通过网络发送文件的应用程序。我正处于这个阶段,我需要优化应用程序,以便传输速度是理想的。
Y - 发送时间。 X - 缓冲区大小。
Y是发送时间,X是缓冲区/数据包大小。 您是否可以看到,从我的实验中我注意到,如果缓冲区大小很小,则发送时间会变慢,如果缓冲区大小很大,则发送时间会很长。 有一个甜蜜点,缓冲区大小似乎是理想的。这是我需要一些希望拥有更多网络经验的人的帮助的地方。
现在这就是我发送缓冲区的方式。
for (int i = 0; i < NoOfPackets; i++)
{
if (totalFileLength > netBufferSize)
{
currentPacketLength = netBufferSize;
totalFileLength = totalFileLength - currentPacketLength;
}
else
currentPacketLength = totalFileLength;
SendingBuffer = new byte[currentPacketLength];
compressed.Read(SendingBuffer, 0, currentPacketLength);
netWorkStreamVar.Write(SendingBuffer, 0, currentPacketLength);
}
目前我遇到的最快发送缓冲区大小为 1024 * 256 。 问题清单:
我如何确定最佳位置?(发送缓冲区大小理想)
是由文件类型决定的?
是否依赖于我的网络配置。
是否有“行业”标准?