【问题标题】:Java RMI app works fine from XP, but refuses connection from Windows 7Java RMI 应用程序在 XP 上运行良好,但拒绝从 Windows 7 连接
【发布时间】:2012-03-20 10:33:04
【问题描述】:

我们目前正在评估从 XP 升级到 Windows 7,但最后一个问题是,我们似乎无法从 Windows 7 运行我们的 Java RMI 应用程序。

我在两台机器上都使用相同的 JRE / Classpath,还有其他我遗漏的问题吗?

更新

我在两台机器上都运行了 Wireshark,似乎是 Windows 7 框发出请求,但从服务器返回的响应失败

Trans2 Response, QUERY_PATH_INFO, Error: STATUS_OBJECT_PATH_NOT_FOUND

有什么想法吗?

更新 2

我创建了一个全新的 XP 安装(必须喜欢虚拟机)并且应用程序运行没有问题,显然 Windows 7 中发生了一些变化

更新 3

我们在与服务器相同的数据中心创建了一个全新的 Windows 7 安装,并且连接良好,所以我友好的(!)网络管理员需要整理他的网络,这肯定看起来像是某个地方的防火墙问题。感谢所有人(尤其是 Lucian)为此付出的所有时间。

【问题讨论】:

  • 可能是防火墙问题。
  • 谢谢,但还是不开心

标签: java windows-7 rmi


【解决方案1】:

您是否解锁了用于应用程序 RMI 的端口?

我记得曾经遇到过这个问题。

如果我没记错的话,RMI 的默认端口是 1099,但是你可以在命令行中设置它。

编辑: here 的 A.3 或 C.4 节或 here 的 6.0 节有帮助吗?

编辑2: Here 是访问权限线程的链接,该线程与使用 Wireshark 找到的响应相关。

【讨论】:

  • 服务器必须打开端口,因为它在 XP 机器上工作正常,我已经关闭了 Win 7 机器上的防火墙
  • 你能捕捉到客户端抛出的任何异常并将它们放在这里(或至少是异常类型)吗?
  • java.io.InterruptedIOException java.net.SocketTimeoutException
  • 这很奇怪,它通过 RMI 拉过登录屏幕,然后在您尝试登录时失败,尝试 20 次(仅在第一次尝试后显示上述错误)然后我得到一个对话框说那里在 JRMP 连接建立期间出错
  • 可能与文件/共享访问有关吗?
【解决方案2】:

如果这对将来的任何人有帮助,我们的 Cisco 路由器上有一个“策略映射检查”,我们禁用了“检查瘦身”,一切正常。 Cisco Tech note 这会在所有返回的 RMI 流量到达防火墙之前阻止它,因此很难调试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多