2

2 つのエミュレーターの間に SOCKET 接続を作成します。以下のコードがありますが、何も起こりません。Server クラスは、次の IP アドレスを返します。

           10.0.2.15

クライアントクラスでこれを使用していますが、何も起こりません。サーバーでメッセージを取得していません。このリンクからサーバーとクライアントの両方のコードを使用していますAndroidの2つのアプリ間のソケット通信

私を助けてください、私は上記のリンクと同じコードを持っており、クライアントで10.0.2.15を使用してサーバーに接続しています

4

3 に答える 3

3

実際には、エミュレーターには IP アドレスがありません。このタイプの IP アドレス "10.0.2.15" が常に含まれており、これはエミュレーターであるため、実際には携帯電話やその他のデバイスからアクセスすることはできません。対照的に、エミュレーターは、IPアドレスが「172.23.0.101」である私のモバイルのような他のサーバーに接続要求を送信できます。したがって、この場合、エミュレーター(クライアントとして)と電話(サーバーとして)の間で接続が確立されます。私のプロジェクトでは、このIPアドレスがあり、うまく機能します

Mobile Phone IP Add: 172.23.0.101  (SERVER)
Emulator     IP Add: 10.0.2.15     (CLIENT)
于 2013-03-07T08:28:57.010 に答える
0

2 つの Android エミュレーター インスタンスを TCP 経由で一緒に接続できないという問題は、両方が別のサブネットで実行されることです。

Android のドキュメントでは、このトピックについて詳しく説明し、さまざまなエミュレータ インスタンスを一緒に接続したい場合の解決策を提供しています。ここで確認できます: Android emulator Networking

また、あなたの質問に似た質問がいくつかありました: hereおよびhere

于 2013-02-26T11:17:15.393 に答える
0

OKkkkkk !!!、問題を解決しました。サーバー プログラムを実行しているモバイル デバイスに、エミュレータクライアントからメッセージを送信しています。私のモバイルデバイスのIPは

                 192.168.180.101

したがって、クライアントプログラムでこのIPアドレスを使用し、クライアントからサーバーにSMSを正常に送信しています。

于 2013-02-26T11:07:14.703 に答える