Wenn das Telefongerät im 3G-Netzwerk eine Verbindung herstellt, wie kann ich feststellen, ob die IP-Adresse des Android-Geräts öffentlich ist oder nicht?So ermitteln Sie, ob die IP-Adresse des Android-Geräts öffentlich ist oder nicht
public static InetAddress getLocalIpAddress() {
try {
for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress address = enumIpAddr.nextElement();
return address;
}
}
} catch (SocketException ex) {
Log.e(DEBUG_TAG, ex.toString());
}
return null;
}
Was versuchen Sie zu tun? – Falmarri
Ein Android-Gerät wird praktisch nie eine öffentliche IP-Adresse haben, so wie die meisten PCs nie eine öffentliche IP-Adresse haben. Alles liegt hinter NAT, teilweise aufgrund des begrenzten IPv4-Adressraums, teilweise wegen der Sicherheit. Nun, wenn jemand Android auf einen Router setzt, dann hätte er vielleicht eine öffentliche IP-Adresse, aber das ist jetzt so ein Randfall, dass ich kaum denke, dass es sich lohnt, sich darüber Gedanken zu machen. – CommonsWare
ich versuche Serverserver zu starten – sweetier