通常、URLで10.0.2.2 :(ポート番号)を使用してローカルWebサーバーに接続しますが、10.0.2.2ではなくコンピューターのIPアドレスを使用する必要があります
それでは、なぜ10.0.2.2を使用するのですか?
ネットワークアドレススペース
エミュレーターの各インスタンスは、開発マシンのネットワークインターフェースと設定、およびインターネットから隔離する仮想ルーター/ファイアウォールサービスの背後で実行されます。エミュレートされたデバイスは、ネットワーク上の開発マシンまたは他のエミュレーターインスタンスを見ることができません。代わりに、イーサネット経由でルーター/ファイアウォールに接続されていることのみを認識します。
各インスタンスの仮想ルーターは、10.0.2/24ネットワークアドレス空間を管理します。ルーターによって管理されるすべてのアドレスは、10.0.2.<xx>
、ここで<xx>
は数値です。このスペース内のアドレスは、エミュレーター/ルーターによって次のように事前に割り当てられます。
ネットワークアドレスの説明
10.0.2.1 Router/gateway address
10.0.2.2 Special alias to your Host loopback interface (i.e., 127.0.0.1 on your development machine)
10.0.2.3 First DNS server
10.0.2.4 / 10.0.2.5 / 10.0.2.6 Optional second, third and fourth DNS server (if any)
10.0.2.15 The emulated device's own network/ethernet interface
127.0.0.1 The emulated device's own loopback interface
コンピューターでサーバーとエミュレーターの両方を実行している場合、127.0.0.1 :(ポート)はサーバーではなくエミュレーター自体を参照します。10.0.2.2はその問題の解決策です:)
お役に立てば幸いです
10.0.2.2を使用する理由は、ホストループバックインターフェイス(別名127.0.0.1)への特別なエイリアスだからです。それが動作する理由であり、動作するのはクールではありませんか?
接続に10.0.2.2を使用する場合、常にローカルホストを指します。これを読む前に、マシンに実際のIPを使用しましたが、両方の方法で機能します。
10.0.2.2を使用する利点は、実際のIPを気にせず、別のコンピューターでプロジェクトを簡単に移動できることです。