7

ファイアウォールの背後にあるアプレットクライアントでRMIを使用するにはどうすればよいですか?

ファイアウォールで保護されたサーバーとファイアウォールで保護されたアプレットクライアントでRMIを使用するにはどうすればよいですか?(もし可能なら)

RMIサーバーがポート1099を使用していることを知っています(デフォルトでは、これは構成可能です)。ただし、この後、通信には別のランダムポートに新しいソケットが必要になります。また、理論的には私の問題を解決するはずのRMIoverHTTPトンネリングのプロキシをクライアントに設定できることも知っています。しかし、それを機能させることはできません(XPクライアントで環境プロパティを設定しようとしましたが、Internet Explorerはそれらを無視し続けます)。

4

4 に答える 4

7

http://java.sun.com/javase/6/docs/technotes/guides/rmi/faq.html#firewallを参照してください。

于 2009-02-01T11:02:58.793 に答える
1

サーバーコードが手元にある場合は、ここで説明されているように、カスタム RMISocketFactory を提供することにより、事前定義されたポートを使用するように RMI を制限することもできます: http://insidecoffe.blogspot.com/2012/02/firewall-friently-rmi-port-fixing .html

(JMX を並行して使用すると問題が発生する可能性があることに特に注意してください)

于 2012-02-02T11:30:51.860 に答える
0

まだ自分で深く調べていませんが、現在行っているプロジェクトを探していたところLipeRMIに出会いました。

インターネットの使用を対象としており、「クライアントをローカル ネットワーク、ルーター、またはファイアウォールの背後に配置できるようにシャドウイングする」と述べているため、確認することをお勧めします。

編集:

RMI Doves 1.0: Solution for Java RMI firewall problemと呼ばれる、しばらく前に遭遇した別の実装を思い出しました。

于 2009-02-01T11:11:11.770 に答える
0

サーバーに次のようなコードを配置します。

RmiInterface stub = (RmiInterface) UnicastRemoteObject.exportObject(rmi, 35400);
LocateRegistry.createRegistry(1099);
Naming.rebind("//192.168.102.128:1099/rmi", stub);
于 2013-04-19T00:57:53.077 に答える