我已经使用Winsock API在Windows 64位平台上实现了文件传输程序。我正在使用1Gbps连接。
- 当我使用TCP协议传输文件时,仅获得320 Mbps。当我监视任务管理器时,它显示约35%的网络利用率。我是否应该获得比这更好的传输速率?
- 当我使用UDP传输文件时,网络连接似乎丢失了。我尝试使用ping命令进行检查,结果发现我只能ping通回送地址,而不能ping通其他地址。我不知道为什么会这样。我知道UDP不是TCP友好的,并且没有拥塞控制或流控制,但是我认为这不会严重影响所有其他连接。
我浏览了很多关于调整选项的内容,但似乎没有任何效果。谁能找到导致我无法实现最大吞吐量的问题,以及为什么在运行UDP发送程序时会丢失连接?
您确定它的网络将您限制为320Mbps,而不是您的CPU或程序吗?另外,使用UDP不会使您的网络瘫痪,但是您没有给我们提供任何详细信息来帮助调试该问题。这就是您的全部代码吗?你能分享一些吗?
—
2014年
@heavyd对于tcp,我将尝试分析代码,并查看是否存在网络问题。而且udp prog实际上太简单了。调用sendto func后,我立即获得问题。我没有对代码做任何特别的事情,这就是为什么我没有分享。应用bufffer是大小10000,UDP sndbuf是65536,UDP rcvbuf是1048000.
—
user3226732