IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Android Discussion :

Accès au serveur local par téléphone physique Android


Sujet :

API standards et tierces Android

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2010
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 89
    Points : 100
    Points
    100
    Par défaut Accès au serveur local par téléphone physique Android
    Bonjour,
    J'ai mon application android qui consiste à acceder à un serveur local easyphp pour recuperer des données depuis mysql. j'utilise un fichier php que j'appelle depuis mon activité.L'application marche très bien quand j'utilise l'emulateur en deboggage: j'utilise HttpClient et j'ai spécifié l'adresse de mon fichier php comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    try{
     
            HttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost("http://10.0.2.2:80/fichier.php");
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
            HttpResponse response = httpclient.execute(httppost);
            HttpEntity entity = response.getEntity();
            is = entity.getContent();
        	}
        	catch(Exception e){
        		Log.i("tag",""+e.toString());
                Toast.makeText(getBaseContext(),e.toString() ,Toast.LENGTH_LONG).show();
           }
    Tout va bien sur l'emulateur, mes données sont récuperées et s'affichent comme souhaité.Par contre quand j'utilise un telephone physique, ça plante. J'obtiens dans le tag ci-haut une erreur de "time out": (java.net.SocketException).Parfois l'application force la fermeture,parfois m'affiche "the url must not be null or set in parameter".
    J'ai vu une brieve discussion à ce propos sur ce forum où, on propose de mettre le serveur easyphp en "put online".Pour cela, j'ai mis en commentaire la ligne suivante
    bind-address = 127.0.0.1
    dans le fichier my.ini de mysql. Mais ça ne donne toujours rien. Je serai reconnaissant si quelqu'un peut donner un coup de pouce.Merci d'avance.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2012
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    et en mettant 0.0.0.0 à la place du 127.0.0.1 ça donne quoi?

  3. #3
    Membre expert
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Points : 3 135
    Points
    3 135
    Par défaut
    tu appelles l'adresse 10.0.2.2 qui est une adresse de ton réseau local.

    Si ton téléphone ne passe pas par ton réseau local (wifi) ça ne marchera pas.

  4. #4
    Membre régulier
    Inscrit en
    Janvier 2010
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 89
    Points : 100
    Points
    100
    Par défaut
    Citation Envoyé par moritan Voir le message
    tu appelles l'adresse 10.0.2.2 qui est une adresse de ton réseau local.

    Si ton téléphone ne passe pas par ton réseau local (wifi) ça ne marchera pas.
    Merci pour le reply. C'est exactement ce que j'ai fais. le telephone est connecté au meme wifi que mon PC. Sauf que le wifi a un proxy, ne serait-ce pas le problème?

  5. #5
    Membre expert
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Points : 3 135
    Points
    3 135
    Par défaut
    oui si tu as un proxy, il faut que ton httpclient soit configurait pour.

    Par contre si tu as un proxy sur ton wifi et pas sur ton réseau lan, j'ai un gros doute sur le fait que tu soit bien sur le même réseau.

    arrives-tu as accéder à ton serveur à partir du navigateur de ton mobile?

  6. #6
    Membre régulier
    Inscrit en
    Janvier 2010
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 89
    Points : 100
    Points
    100
    Par défaut
    Là non, je viens d'essayer sur le navigateur du telephone: http://IP-de-mon-PC. ça ne donne rien!
    Et Oui, concernant le proxy, il est justement sur le reseau wifi que je considère comme mon LAN. Sinon comment alors configurer le proxy à partir du HttpClent?

  7. #7
    Membre expert
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Points : 3 135
    Points
    3 135
    Par défaut
    Si tu ne passe pas avec le navigateur pas la peine d'aller plus loin.

    Quand tu dit qu'il y a un proxy. C'est quoi comme type de proxy ?
    Comment es tu sur d'être sur le même réseau entre ton pc et ton tel, car là ça ressemble bcp a un problème de connexion ?

  8. #8
    Membre régulier
    Inscrit en
    Janvier 2010
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 89
    Points : 100
    Points
    100
    Par défaut
    Citation Envoyé par moritan Voir le message
    Quand tu dit qu'il y a un proxy. C'est quoi comme type de proxy ?
    Le réseau wifi sur lequel je travallais n'est accessible que quand je configure le proxy via le navigateur IE( outils/options internet/connexion/parametres reseau) où j'entre l'IP du serveur proxy et le port. Sans cette configuration, je n'ai pas accès au net.
    Mais c'est encore plus grave, je viens d'essayer avec un autre réseau wifi accessible simplement par mon pc et le telephone sans aucun parametrage proxy, mais là aussi le problème persiste: time out error, java.net.SocketExption.

  9. #9
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    10.0.2.2 c'est pour l'émulateur, l'adresse IP du PC qui fait tourner l'émulateur..

    Sur un vrai téléphone l'adresse IP sera la vraie adresse IP de la machine (sur le wifi quoi !).
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par nicroman Voir le message
    10.0.2.2 c'est pour l'émulateur, l'adresse IP du PC qui fait tourner l'émulateur..

    Sur un vrai téléphone l'adresse IP sera la vraie adresse IP de la machine (sur le wifi quoi !).
    Exacte, donc tu doit mettre ton adresse IP publique. Et par la même occasion configurer ton modem routeur pour qu'il nat ton port.

  11. #11
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Pas forcément....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Internet ---- (ip publique) Routeur+NAT+WIFI --- (ip privée 1)
                                                  |
                                                  |-- (ip privée 2) PC (10.0.2.2) --- (10.0.2.1) Emulateur
                                                  |
                                                  --- (ip privée 3) Smartphone
    C'est bien l'ip privée 2 qu'il faut entrer !
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par nicroman Voir le message
    Pas forcément....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Internet ---- (ip publique) Routeur+NAT+WIFI --- (ip privée 1)
                                                  |
                                                  |-- (ip privée 2) PC (10.0.2.2) --- (10.0.2.1) Emulateur
                                                  |
                                                  --- (ip privée 3) Smartphone
    C'est bien l'ip privée 2 qu'il faut entrer !
    Je comprend pas, si il est sur le réseau internet, c'est l'@ Ip publique qu'il doit entrer !

    En revanche si il est dans le réseau, par exemple connecté en wifi, alors, cela sera l'adresse privé.

    Je me trompe ??

  13. #13
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Ha ben oui...

    Emulateur: 10.0.2.2
    Téléphone en WIFI sur le meme réseau: addresse privée 2.
    Téléphone en 3G: address publique (avec forward sur le routeur NAT).
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  14. #14
    Membre régulier
    Inscrit en
    Janvier 2010
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 89
    Points : 100
    Points
    100
    Par défaut
    Merci à vous tous pour les interventions! C'etait un problème de parefeu. Il fallait le desactiver et c'est partit! Du coup SOS sécurité Que dois-je faire pour combler le trou?

  15. #15
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2014
    Messages : 27
    Points : 16
    Points
    16
    Par défaut
    Bonjour abablex,

    J'essai de faire la même chose mais mon code ne marche pas encore sur l'émulateur. Est-ce-que vous pourriez me passez votre code svp pour que je puisse m'y referer afin de comprendre ce qui manque ou ce qui est de plus.;-)

    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Accès au serveur local par téléphone Android
    Par ridaovish dans le forum Général Java
    Réponses: 0
    Dernier message: 13/04/2015, 12h55
  2. Problème accès au serveur local
    Par Noobs_ dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 05/05/2012, 16h10
  3. [DEBUTANT]Accès au serveur Tomcat en réseau local
    Par fafat dans le forum Tomcat et TomEE
    Réponses: 9
    Dernier message: 25/11/2009, 19h32
  4. Réponses: 1
    Dernier message: 06/06/2008, 14h59
  5. VirtualHost et acces au serveur en local
    Par toubib63 dans le forum Apache
    Réponses: 2
    Dernier message: 29/08/2006, 17h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo