2011-08-15 6 views
0

私は現在javaで書かれたサーバーでJava PC/Androidアプリケーションを開発しています。私がPCクライアントを開発していたとき、私はlocalhost:12345でサーバーを起動していました。クライアントは問題なく、(同じホスト名とポートを使用して)このサーバーに接続できました。私はアンドロイドデバイスを使用して接続しようとした昨日の問題が始まった。私は携帯電話を使ってアプリケーションを開発し、ホストアドレスとして私のルーターの公開IP 89.xx.xx.xxxとPCクライアント(12345)と同じポートを入力します。もちろん私はルーター(ポート12344から12346まで)にポートフォワーディングを設定し、Windows Defenderのポート12345で任意の接続タイプのルールを作成しました。しかし、まだ成功はありません。これは私が他のアプリを開発していて、すべてがうまくいった約8ヶ月前から変です。奇妙なことは、初めてサーバーとPCクライアントを起動したときにウィンドウが表示されないということです(私のアプリがインターネットに接続できるようにするための防御側のプロンプトを勝ち取る)。私はルータの転送に問題があると思うが(localhost上では正常に動作するため)、他に何ができるのか分からない。私は転送の横にUPnPをオンにしました。私のルーターはTHOMSON TWG850-4Uです。数秒後にアンドロイドアプリでタイムアウト例外が発生するポートフォワーディングの問題

+0

Android搭載端末が接続に使用するモバイルネットワークに問題がないことを確認するために、通常のPC(Android搭載端末ではない)を使用して外部からサーバーに接続できるかどうか確認しましたか? – wollud1969

答えて

0

127.0.0.1ではなく、0.0.0.0(すべてのインターフェイスで着信接続を受け入れる)のサーバーがバインドされていますか?

+0

私はローカルホストを0.0.0.0に変更しました(それがあなたが意図したものです)。サーバソケットのバインドではまだ接続できません。 – Zani

0

すでに0.0.0.0にバインドしている場合は、ルータにPCのIPアドレスをDMZに設定し、接続が許可されているかどうかを確認してください。

+0

私はこれを試しましたが、違いはありません。私はDMZをオンにしてポートフォワーディングを残しました。私はルータを使用しました。パブリックIP – Zani

+0

これらの要求をするときにネットワーク上にいる場合は、ルータのパブリックIPではなくLANのIPを使用する必要があります。 –