gpt4 book ai didi

java - RMI 或 Servlets 通过防火墙向/从 applet 发送对象?

转载 作者:行者123 更新时间:2023-11-28 22:45:15 28 4
gpt4 key购买 nike

我有一个大约有 8 年历史的系统,其中 java 小程序使用套接字通过端口与自定义服务器(用 java 编写)通信。任何时候,用户都不超过十几个。我们越来越多的用户处于他们无法控制的防火墙后面。建议的解决方案是找到一种通过端口 80 发送对象的方法。

我倾向于 servlet。主要缺点是学习如何将所有东西放在一起(apache、tomcat、servlet)需要时间。

然而,RMI 似乎(从表面上看)更简单,但阅读 Oracle 关于防火墙的常见问题解答让我认为它可能并不总是有效。此外,我还没有看到有关在共享端口时它如何与 apache 一起工作的好指南。

鉴于限制:(1) 必须为客户端使用 java applet,(2) 无法控制客户端的防火墙,(3) 我是一个不错的业余程序员,但不是专业的,而且没有资金可以雇用专业人士,哪条路更好,或者错过了另一个解决方案?

最佳答案

鉴于目前所有这些都在 RMI 上运行,我倾向于 tunnelling RMI over HTTP .我从来没有这样做过,但它是 RMI 的一个古老功能,应该可以稳健地工作。

您谈到与 Apache 共享一个端口。你实际上不能这样做——只有一个进程可以在任何给定端口上监听。但是,您可以做的是将 Apache 放在端口 80 上,并将其配置为将请求转发到 RMI,RMI 可以在其他端口上监听。您可以这样做,因为(如果我没看错的话!)融入 RMI-over-HTTP 方法的核心是路径 /cgi-bin/java-rmi.cgi。你可以使用 Apache 著名的 mod_rewrite捕获对该路径的请求并将它们传递到其端口上的 Java 进程。您甚至可以将 RMI 进程放在完全不同的主机上,并通过网络向它传递请求。

关于java - RMI 或 Servlets 通过防火墙向/从 applet 发送对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7861825/

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