在过去几周里,我遇到了很多基于 Java 的程序(Eclipse、Maven、Android SDK 管理器等)的下载问题。下载开始并运行良好,直到突然完全停止并且再也没有继续。当我使用其他程序(例如使用 wget)下载同样有问题的文件时,下载运行没有任何问题。
使用Wireshark进一步分析显示,当下载停止时,“TCP 窗口已满“消息已发送,之后仅”TCP 零窗口“消息正在发送。
系统:Windows 7 32 位,带有 Oracle JDK 1.7.0_03。降级到 1.6.0_31 也无济于事……
原生 Windows 应用程序似乎没有受到影响。
有人知道该怎么做吗?
编辑:
我尝试通过更改 TCP 接收窗口扩大算法(命令netsh int tcp set global autotuninglevel=disabled
)来解决此问题。但无论我使用哪种模式 - 禁用、受限、正常......问题仍然存在。
编辑2:
即使完全重新安装后,此问题仍然存在。因此我开始禁用/卸载程序。目前最有可能的罪魁祸首是 AVG Free 2012,或者准确地说是“链接扫描仪”组件。
答案1
尝试强制使用 ipv4:
-Djava.net.preferIPv4Stack=true
參考文獻: https://forums.oracle.com/forums/thread.jspa?threadID=2309363