mem*_*eme 5 c# networking buffer networkstream
现在我有一个通过网络发送文件的应用程序。我正处于需要优化应用程序以便传输速度理想的阶段。
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);
}
Run Code Online (Sandbox Code Playgroud)
现在我遇到的最快的发送缓冲区大小是1024 * 256。问题清单:
我如何确定那个甜蜜点?(其中发送缓冲区大小是理想的)
是由文件类型决定的?
是否取决于我的网络配置。
有“行业”标准吗?
| 归档时间: |
|
| 查看次数: |
759 次 |
| 最近记录: |