我们正在使用android 2.3.3作为项目进行聊天应用程序,当我们打开应用程序时,我们需要通过代码自动获取IP地址并将其发送到具有status的服务器。如何才能完成。我们将非常感谢有关此主题的任何帮助。 提前致谢
答案 0 :(得分:1)
答案 1 :(得分:1)
为什么要将IP发送到服务器?服务器可以在客户端连接时获取IP?
通常,客户端必须知道服务器的IP并连接到它。在某些情况下,当它到达服务器(NAT防火墙,代理,多个网络设备,如3G,wifi等)时,可能很难或无法确定它将获得什么IP。
列出您可以在Android设备上注册的所有IP地址(代码来自http://www.droidnova.com/get-the-ip-address-of-your-device,304.html):
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 (SocketException ex) {
Log.e(LOG_TAG, ex.toString());
}
return null;
}
我建议你阅读客户端/服务器架构。关于这个主题有几个指南。
http://pguides.net/java/tcp-client-server-chat
http://pirate.shu.edu/~wachsmut/Teaching/CSAS2214/Virtual/Lectures/chat-client-server.html