Bonjour tout le monde,
Voila mon soucis:
Je suis actuellement en train de développer une application de monitoring de serveur. Pour cela j'ai besoin d'effectuer une requête ICMP à partir d'un mobile sous Android 1.5.
Voici le code que j'ai pour l'instant:
Ce code fonctionne lorsque j'entre "Localhost" en paramètre. Cependant lorsque je met "google.fr", cela me renvoi que le serveur ne répond pas tout en me donnant l'adresse IP du serveur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 public void onClick(View view) { if (view == BtValid) { TVmsg.setText("Requête en cours..."); try { Inet4Address ip = (Inet4Address)Inet4Address.getByName(ETip.getText().toString()); if(ip.isReachable(200)){ TVmsg.setText("Le serveur répond bien"); } else{ TVmsg.setText("Le serveur avec l'IP: "+ip.getHostAddress() +" ne répond pas"); } } catch (UnknownHostException e) { TVerr.setText("Le serveur est inconnu"); TVmsg.setText("Requête echouée."); } catch (IOException e) { TVerr.setText(e.getLocalizedMessage()); TVmsg.setText("Requête echouée."); } } }
Je me demandais si ce n'était pas une histoire d'autorisation. Je vous donne donc mon manifest.xml:
Pouvez vous me donner une piste car je bloque la dessus depuis un bon moment
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.cyrilmottier.android.tutorial4" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".EntryPoint" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".Ping" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.DEFAULT" /> </intent-filter> </activity> </application> <uses-permission android:name="android.permission.INTERNET" /> <uses-sdk android:minSdkVersion="3" /> </manifest>.
Merci beaucoup !
Partager