2012-01-01 10 views
3

私のプログラムは、RMIを使用してユーザが中央サーバに接続できるようにするゲームです。ゲームは私のホームネットワーク内のコンピュータ上で正常に動作します。ネットワーク外のリモートユーザーがサーバーに接続できるようにしたい。リモートユーザがJavaプログラムに接続できるようにサーバを設定する

同様のスレッドの推薦に基づいて、コンピュータを一般にアクセスできるようにドメインをゲームサーバにマッピングするno-ip.comアカウントを設定しました。

私はからクラスのスタブを取得するために私のコードを変更:ただし、この新しいコードはjava.rmi.ConnectException: Connection refused to host:エラーを取得します

Registry registry = LocateRegistry.getRegistry("mychosenhostname.no-ip.org"); 
/* mychosenhostname.no-ip.org is the redirecting domain that I received from no-ip */ 

:へ

Registry registry = LocateRegistry.getRegistry("10.10.10.105"); 
/* 10.10.10.105 is my local address and this works fine on my home network */ 

。私はcanyouseeme.orgのポートチェッカーツールを使用して、ポート1099が開いていることがわかりました。自分のプログラムをアクセス可能にするために他に何が必要なのかよく分かりません。ところで

:私はGlassfishの

+0

NATルータは、内部マシンに要求を転送するように設定されていますか? – sarnold

+0

いいえ私はそうは思わない。私はルーティングのコンセプトにはかなり新しいので、私はこのコンセプトに慣れていません。あなたは少し説明することができますか良いリソースに私を指示ですか?私はLinkSys WRT54GルータとWindstreamケーブルモデムを持っています。どちらも接続して設定を編集できます。編集:あなたはポートフォワーディングについて話していますか?その場合は、該当するマシンにポート1099を転送しました。 – Robert

+0

ハワイ、うわー、尋ね、あなたが受け取る:http://portforward.com/english/routers/port_forwarding/Linksys/WRT54G/ - スクリーンショット以外のページ上のすべてのものを無視する。 :) – sarnold

答えて

0

私は私の問題の答えを見つけたかもしれないと思います。私のセットアップは、ADSLモデム - >ルーター - >マシンのように見えました。

DSLモデムからルータに、次にマシンにポートを転送しても、DSLモデムはポート転送設定を完全に無視していました。ブリッジモードでDSLモデムを設定し、ルータだけがポート転送を処理できるようにしたら、問題を修正するように見えました。

1
  1. でのNetBeans IDEを使用していますが、サーバー上のソフトウェアファイアウォールを確認してください。あなたは絶対に確信している場合は(...あなたがまだの場合は)

  2. など、あなたがからを接続しようとしているマシン上のポートを確認し、そのファイアウォール、ルータあなたはすべての権利を持っていることをあなたのISPに連絡し、彼らががポートをブロックしているかどうか尋ねます。ポート1099を開くが、

+0

私のオペレーティングシステムはXP Home editionに問題がありますか? no-ip.comサイトでは、サーバーオペレーティングシステムが動作する必要があるとは言いませんでしたが、おそらく私のオペレーティングシステムでは私が試しているものが許可されていない可能性があります。 – Robert

0

ちょうどあなたがRMI レジストリに連絡することを可能にすることを、良いスタートです。実際のRMIエクスポートオブジェクトは、別のポート(デフォルトでは任意のポート)で使用できます。

1)DMZとしてルーターでサーバーをセットアップします(そのサーバーにルーティングされますすべての着信接続を意味する):

2つのオプションがあります。しかし、あなたのサーバー上のセキュリティに注意してください。

2)オブジェクトの特定のポートを設定します(http://docs.oracle.com/javase/1.4.2/docs/guide/rmi/faq.html#firewallIn)。

PS - Wiresharkなどのパケットキャプチャツールは、この種の問題の診断に役立ちます。

+0

OPが 'LocateRegistry.createRegistry()'を使用する場合、彼はすべてのポートに対してポート1099を使用できます。 – EJP

関連する問題