作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我的(网络)客户端每 200 毫秒向我的服务器发送 50 到 100 KB 的数据包。最多有 300 个客户。服务器不向客户端发送任何内容。服务器(专用)和客户端在局域网中。如何调整 TCP 配置以获得更好的性能? Windows Server 2003 或 2008 上的服务器,Windows 2000 及更高版本上的客户端。
例如TCP 窗口大小。更改此参数有帮助吗?还要别的吗?任何特殊的套接字选项?
[编辑]:实际上在不同模式下数据包最大可达 5MB
最佳答案
几年前,我使用 1700 个数据点对此进行了研究。结论是,您能做的最好的事情就是在接收器上配置一个巨大的套接字接收缓冲区(例如 512k)。对监听套接字执行此操作,因此它将被接受的套接字继承,因此在它们握手时已经设置好了。这反过来又允许在握手期间协商 TCP 窗口缩放,这允许客户端知道窗口大小 > 64k。巨大的窗口大小基本上让客户端以最大可能的速率传输,仅受制于拥塞避免而不是关闭接收窗口。
关于windows - 如何调整 TCP 以实现高性能的单向传输?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5148447/
我是一名优秀的程序员,十分优秀!