gpt4 book ai didi

android - android手机usb绑定(bind)后如何获取系统ip地址?

转载 作者:太空狗 更新时间:2023-10-29 15:48:06 25 4
gpt4 key购买 nike


我正在用 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地址,如果我们无法获取请告诉我。因为我是 android 的新手。


我使用的是 android 1.6。


windows xp系统中有服务器端应用。该应用程序是由 C# .net 开发的 Windows 服务。
那个windows服务监听一些端口,如234等。如果有数据到达端口,它会处理数据并通过该端口发送响应。


在 android 中,android 应用程序通过套接字将数据发送到 windows 服务。
Android 手机通过 USB 连接到运行 Windows 服务的系统。然后系统假设 Android 手机是调制解调器,并为系统生成额外的 IP 地址。这个 IP 地址是在 Android 手机连接时动态生成的。
对于通过套接字从移动设备到系统的数据传输。我需要在我的 android 代码中提供系统的 IP 地址(绑定(bind)后)。
如果android编码有什么方法可以得到这个IP地址。
请大家就此发表自己的看法。

最佳答案

绑定(bind)后无法从 Android 中找到在 PC 中创建的 IP 地址。没有 API 或其他方法可以找到它。

如果您使用 InetAddress ,它将返回 192.168.42.129 - 这是由 USB Tethering 创建的 DHCP 地址。它不会帮助您沟通。

另一种方式是扫描IP列表。 USB Tethering 将创建范围为 192.168.42.1 到 192.168.42.255 的 ip。您可以编写一个简单的扫描器来查找哪个是 Activity 的。但这需要一些时间。

关于android - android手机usb绑定(bind)后如何获取系统ip地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11506160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com