Pinger des adresses IP externes à partir de Java Android
Dans le développement Java Android, il est possible d'envoyer une requête ping aux adresses IP locales et externes. Cependant, si vous rencontrez des problèmes lorsque vous essayez d'envoyer une requête ping à des serveurs externes, voici un guide de dépannage :
Analyse du code :
Votre code tente d'envoyer une requête ping à une adresse IP en en utilisant la méthode InetAddress.isReachable(). Cette méthode teste uniquement les adresses IP locales. Pour activer le ping des serveurs externes, vous devez utiliser une approche différente.
Solution : Utilisation de commandes natives
Le code fourni dans la réponse utilise des commandes natives pour exécuter un opération de ping. Cette approche vous permet d'envoyer une requête ping à n'importe quelle adresse IP, à la fois locale et externe. Voici une explication du code :
private boolean executeCommand(){ System.out.println("executeCommand"); Runtime runtime = Runtime.getRuntime(); try { Process mIpAddrProcess = runtime.exec("/system/bin/ping -c 1 8.8.8.8"); int mExitValue = mIpAddrProcess.waitFor(); System.out.println(" mExitValue "+mExitValue); if(mExitValue==0){ return true; }else{ return false; } } catch (InterruptedException ignore) { ignore.printStackTrace(); System.out.println(" Exception:"+ignore); } catch (IOException e) { e.printStackTrace(); System.out.println(" Exception:"+e); } return false; }
Assurez-vous que vous disposez des autorisations nécessaires dans votre fichier AndroidManifest.xml pour accéder à Internet avant d'utiliser ce code.
Considérations supplémentaires :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!