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

Android Discussion :

Question WebService PHP (JSON) et vHost


Sujet :

Android

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 137
    Par défaut Question WebService PHP (JSON) et vHost
    Bonjour,

    Je suis occupé de faire une application pour mon TFE, et j'ai un peu du mal avec les codes que je trouve sur les forums.
    D'un côté ils disent qu'il faut utiliser l'adresse Ip du pc et non localhost, de l'autre ils parlent d'utiliser 10.0.2.2 (ce qui a été confirmé).
    Mais le soucis c'est que je ne passe pas par le fichier www...
    J'ai créé un VHost avec l'emplacement de ma page php et un "url" (dans mon httpd)
    Ensuite j'ai été dans le fichier host combiner l'adresse 127.0.0.1 (dans un premier temps) à mon "url" et là ça fonctionne depuis mon browser (même avec paramètre).

    Par contre une fois que j'utilise le code trouvé (2 différents) et que je change l'adresse en 10.0.2.2 je n'arrive pas à récupérer les valeurs depuis mon terminal android.

    Alors je me tourne vers vous savoir si c'est bien comme ça qu'il faut agir (pour éviter de mettre dans le dossier www et éviter d'entrer une adresse ip pour y accéder, c'est pas très propre en sois ^^)

    Merci d'avance pour votre aide

  2. #2
    Expert confirmé

    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
    Billets dans le blog
    3
    Par défaut
    Il y a deux choses....

    La communication TCP...
    En communication TCP, il faut arriver d'une URL à atteindre la machine qui contient le web-server... Soit http://monhost.a.moi/le.path.de.lurl, faire en sorte que "monhost.a.moi" corresponde à l'addresse IP voulue.... et que celle-ci soit accessible avec le port 80 (à moins de changer le port dans l'url bien sur).

    Si le serveur est sur le PC local.... celui-ci à
    * 1 boucle locale (toujours) d'adresse 127.0.0.1.... Mais il n'y a que lui qui peut y accéder forcément. Donc un browser sur le PC local en http://127.0.0.1/... marcherai.
    * 1 adresse privée (même réseau que le routeur d'accès à internet), généralement en 192.168.x.y ... Donc http://192.168.x.y/ marcherai sur n'importe quel PC local (et même un vrai téléphone en WiFi).

    L'émulateur est une vraie machine virtuelle, reliée au PC par un réseau virtuel... Sur ce réseau, l'adresse de l'émulateur est 10.0.2.1 et celle du PC sur lequel il tourne: 10.0.2.2... Donc pour l'émulateur, le seul choix est d'utiliser 10.0.2.2. Il a bien un routeur internet, mais comme tout routeur, il ne va pas router les adresses privées (192.168.x.y par exemple).
    L'unique choix alors est d'utiliser l'adresse publique (celle du routeur) et de configurer celui-ci pour bien renvoyer sur le PC local. Mais cela ne marche pas toujours (en fait ça dépend des routeurs).


    Maintenant coté web-server, li reçoit bien une connexion depuis l'émulateur... et là s'enclenche le protocole HTTP.
    Le serveur va décider quel vhost utiliser en fonction de plein de trucs: l'adresse IP voulue, le nom du serveur (le header "Server: " de la requête HTTP, ou à défaut celui dans l'URL), le chemin derrière... Une combinaison de tous...

    Donc avec le header "Server: " il doit être possible d'utiliser le bon vhost, même avec une URL en 10.0.2.2....


    Ou alors, faire en sorte que "monhost.a.moi" corresponde bien à 10.0.2.2 .... il "suffit" que le serveur DNS qui fournit l'IP de "monhost.a.moi" indique 10.0.2.2 ! Il est souvent plus pratique quand même de détecter quand on tourne sur l'émulateur, et dans ce cas, changer l'adresse... mais bon... c'est un choix.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 137
    Par défaut
    Donc en toute logique, ce que j'ai fait est censé fonctionné vu que j'ai fait correspondre monhost.a.moi à l'adresse 10.0.2.2 ^^
    Maintenant le but c'est de savoir pq ça ne me retourne rien xD

Discussions similaires

  1. Envoyer du JSON de l'iPhone vers un webService PhP
    Par keuhlu dans le forum Objective-C
    Réponses: 3
    Dernier message: 17/09/2010, 18h40
  2. question develop php
    Par nemo69500 dans le forum Langage
    Réponses: 3
    Dernier message: 05/05/2006, 10h48
  3. [POO] Question class php=>javascript
    Par jeff_! dans le forum Langage
    Réponses: 4
    Dernier message: 05/01/2006, 15h10
  4. Question bête (PHP veux se télécharger)
    Par Nicos77 dans le forum Langage
    Réponses: 12
    Dernier message: 12/10/2005, 15h21
  5. Un PHP.ini par vhost ?
    Par Hikage dans le forum Apache
    Réponses: 2
    Dernier message: 22/05/2005, 20h28

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