gpt4 book ai didi

windows - 如果防火墙打开,Java 7 会阻止 Windows Vista 和 7 上的 FTP 传输。有任何想法吗?

转载 作者:可可西里 更新时间:2023-11-01 11:54:37 24 4
gpt4 key购买 nike

Java 7 会阻止 Windows Vista 和 7 上的 FTP 传输。

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

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

异常(exception):

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

跟进 2(2012 年 7 月 27 日):Oracle 的一位(非常有帮助的)联系人告诉我,这个问题现在已经升级到 Microsoft。我们希望很快能看到一些结果。

跟进 3(2012 年 8 月 15 日):我们在 Oracle 的联系人告诉我们,Microsoft 已经接受了这个错误,并且正在对其进行优先级排序。

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

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

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

最佳答案

问题是由防火墙的状态 FTP 过滤器引起的。作为解决方法,您可以通过以管理员权限执行 netsh advfirewall set global StatefulFTP disable 来禁用它。

关于windows - 如果防火墙打开,Java 7 会阻止 Windows Vista 和 7 上的 FTP 传输。有任何想法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6990663/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com