如果防火墙打开,Java 7 会阻止 Windows Vista 和 7 上的 FTP 传输.有任何想法吗? [英] Java 7 prevents FTP transfers on Windows Vista and 7 if firewall is on. Any ideas?

查看:18
本文介绍了如果防火墙打开,Java 7 会阻止 Windows Vista 和 7 上的 FTP 传输.有任何想法吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Java 7 阻止在 Windows Vista 和 7 上进行 FTP 传输.

Java 7 prevents FTP transfers on Windows Vista and 7.

在 FTP 中,在传输文件之前,必须发送 PORT 或 PASV 命令.一旦发送其中一个命令,Windows 防火墙就会关闭发送它的套接字.这只发生在防火墙打开并且没有 java.exe 异常的情况下.我怀疑这个问题与使用新 Vista IP 堆栈的 Java 7 有关.

In FTP, before a file is transferred a PORT or a PASV command must be sent. As soon as one of the commands is sent the Windows Firewall closes the socket that sent it. This only happens if the firewall is on and an exception for java.exe is absent. I suspect this problem is related to Java 7 using the new Vista IP stack.

有没有人知道如何解决或解决这个问题?我们正在分发一个 Java FTP 库,所以我们显然不能自己添加异常.

Does anyone have any ideas how to fix or work around this problem? We're distributing a Java FTP library so we obviously can't add exceptions ourselves.

例外:

java.net.SocketException: Permission denied: recv failed

JRE 版本信息:

java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)

<小时>

后续行动 1(2011 年 11 月 14 日):Oracle 分析了这个问题,发现它似乎是 Windows 防火墙和/或 IPv6 堆栈中的一个错误.他们设法用原生 C(即非 Java)应用程序复制了该问题,因此这是该错误不在 Java 中的有力证据.他们已经通知了微软,所以现在球在他们的球场上.更多详细信息,请访问 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7077696


FOLLOW-UP 1 (14 November 2011): Oracle has analysed the problem and have found that it seems to be a bug in Windows Firewall and/or the IPv6 stack. They managed to replicate the problem with a native C (i.e. non-Java) app, so this is strong evidence that the bug is not in Java. They have informed Microsoft, so the ball is in their court now. More details can be found at http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7077696

后续行动 2(2012 年 7 月 27 日):Oracle 的一位(非常有帮助的)联系人告诉我,该问题现在已在 Microsoft 升级.我们希望很快能看到一些结果.

FOLLOW-UP 2 (27 July 2012): A (very helpful) contact at Oracle has told me that the issue has now been escalated at Microsoft. We're hoping to see some results soon.

后续行动 3(2012 年 8 月 15 日):我们在 Oracle 的联系人告诉我们,Microsoft 已接受该错误并正在对其进行优先处理.

FOLLOW-UP 3 (15 August 2012): Our contact at Oracle has told us that Microsoft has accepted the bug and is in the process of prioritizing it.

后续行动 4(2012 年 9 月 21 日):Microsoft 已经制作了一个补丁,目前正在由 Oracle 测试.没有发布日期的消息.

FOLLOW-UP 4 (21 September 2012): Microsoft has produced a patch that is currently being tested by Oracle. No word on a release date.

后续行动 5(2012 年 10 月 11 日):终于成功了!Microsoft 已公开发布了一个hotfix.他们暗示该修复程序将包含在未来的一般软件更新中:

FOLLOW-UP 5 (11 October 2012): Success at last! Microsoft has publicly released a hotfix. They imply that the fix will be included in a general software update in the future:

如果您没有受到此问题的严重影响,我们建议您等待包含此修补程序的下一个软件更新."

"if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix."

推荐答案

我们测试了 Windows 修补程序 http://support.microsoft.com/kb/2754804 并确认它确实解决了问题.

We tested the Windows hotfix http://support.microsoft.com/kb/2754804 and confirmed that it did resolve the problem.

这篇关于如果防火墙打开,Java 7 会阻止 Windows Vista 和 7 上的 FTP 传输.有任何想法吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆