私はAndroidでモバイルアプリケーションを開発しています。
ここでは、解決策が見つからない
Androidフォンのusbテザリングの後で、コンピューターやシステムなどのIPアドレスを検出したいと思います
。次のコードを入力すると、電話のIPアドレスのみが使用され、システムのIPアドレスが必要になります
以下はコードです
ArrayList<InetAddress> arrayList=new ArrayList<InetAddress>();
try {
for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
arrayList.add(inetAddress);
inetAddress=null;
}
}
} catch (SocketException ex) {
Log.e("SALMAN", ex.toString());
}
return arrayList;
システムのIPアドレスを取得するのを手伝ってください。手段を取得できない場合は、私に連絡してください。私はアンドロイドに慣れていないので。
私はアンドロイド1.6を使用しています。
WindowsXPシステムにはサーバー側のアプリケーションがあります。そのアプリケーションは、C#.netによって開発されたWindowsサービスです。
そのWindowsサービスは、234などのポートをリッスンします。データがポートに到着すると、データを処理し、そのポートを介して応答を送信します。
androidでは、androidアプリケーションはソケットを介してWindowsサービスにデータを送信します。
アンドロイドフォンは、Windowsサービスが実行されているシステムにUSBテザー接続されています。システムは、アンドロイドフォンがモデムであると想定し、システム用に追加のIPアドレスが生成されます。このIPアドレスは、アンドロイドフォンがテザー接続されたときに動的に生成されます。
ソケットを介してモバイルからシステムにデータを転送する場合は、AndroidコーディングでシステムのIPアドレス(テザー後)を指定する必要があります。
このIPアドレスを取得するためのAndroidコーディングに何らかの方法がある場合。
みなさん、これに関してあなたの考えを教えてください。