【发布时间】:2012-02-25 18:31:17
【问题描述】:
我有一个 android 应用程序,它(通过网络)与桌面服务器应用程序(都用 Java 和基于 GUI 编程)进行通信。现在要测试,我只是有一种方法可以在 android 手机上指定套接字。但是,将来当我发布应用程序时,我希望它能够尝试自行连接到服务器。
到目前为止,我的一些想法是获取电话的 IP 地址,然后循环通过同一端口上的 C 类地址空间并查看是否有任何这些套接字连接。大家还有什么可以推荐的吗?
另外,在 Android 中获取手机 IP 地址的最佳方法是什么?我有一种方法,但它只适用于 android 2.3 及更低版本......在 ICS 上它完全失败并给出随机的乱码。这里是:
public String getLocalIpAddress() {
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();
if (!inetAddress.isLoopbackAddress()) {
return inetAddress.getHostAddress().toString();
}
}
}
} catch (Exception ex) {
}
return null;
}
【问题讨论】:
-
我也试过(在电话上)自动连接到 255.255.255.255:18250 但我的服务器(*:18250)显然没有收到广播...
标签: java android sockets client