首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TcpClient带宽估计

TcpClient带宽估计
EN

Stack Overflow用户
提问于 2010-12-16 15:04:06
回答 1查看 584关注 0票数 1

我想使用TcpClient创建带宽估计工具。im的问题是,我想在预定义的时间内执行测量(而不是预定义的要传输的缓冲区数据长度)。如果我使用循环(重复传输小块数据),会不会降低性能(手动碎片与自动碎片)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-16 15:08:03

这取决于您是否禁用Nagle算法。如果你这样做了,那么是的,你会自己把事情搞得支离破碎。如果你不这样做,你就不太可能实现你的目标--因为数据可能并不是你认为的实际写入的……当然,除非连接的另一端发回最终的"ack“。

我建议您使用较小的样本来计算出粗略的速度,然后在此基础上创建一个较大的样本,以预测需要多长时间。无论如何,你都需要测量时间--你不可能达到一个精确的预定义时间--所以它不会有太大的不同。你总是可以在一定程度上调整大小-我预计你最终会发送大量的数据包,除非它是一个非常慢的网络,所以如果你中途决定只发送200K而不是300K,那应该没有太大区别。

当然,这可能听起来像你最初的建议--但我只是在说每次调用发送“相当大的”数据块……比如说16K。(无论如何,都要比数据包大小大得多。)这应该不会对碎片化有太大影响,但仍然允许您在进行过程中进行一些调整。我不建议你寄很小很小的包。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4458243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档