2011-07-29 6 views
0

LANで動作しているサーバーと通信するためにAndroidクリエットを開発しようとしています。クライアントはエミュレータで動作しています。しかし、アンドロイドクライアントを実行している間、私は例外接続が拒否されています。私は、エミュレータが存在するホストマシン上でサーバを稼働させて接続を確立しようとしました。これも失敗しました。ソケットに基づいたAndroidクライアントサーバーアプリケーションの開発に必要なヘルプ

サーバー:私はTCPを追加REDIR追加1235

少し研究した後::1234:1234 、代わりにサーバの実際のIPを与える、私は10.0.2.2を与えました。出来た。しかし、私がacutal ipと置き換えた場合、それは動作を停止しました。私は行方不明ですanythignはありますか?

+0

これは役立つかもしれません:http://developer.android.com/guide/developing/devices/emulator.html#emulatornetworking –

答えて

0

tcpリダイレクトは、デバイスの外部から発信された接続に対してのみ機能します。デバイスが外部のものに接続することはできません。

10.0.2.2を使用すると、ホスト上で動作しているかのように、つまりホスト上で何かの中で127.0.0.1を使用しているようなことが起こります。それが動作していて、ホストのIPアドレスを使用していない場合は、ファイアウォールやホスト上のサーバの設定で着信接続を受け付けない場合に問題が発生する可能性があります。あなたのLAN上の別のマシンからサーバーに連絡できますか?

ちなみに、直面する問題の一部ではありませんが、10.0.2.2はエミュレータでのみ動作し、ハードウェアアンドロイドデバイスでは動作しません。

関連する問題