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

Entrée/Sortie Java Discussion :

Requêtes HTTP sur plusieurs IPs de la même machine


Sujet :

Entrée/Sortie Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Requêtes HTTP sur plusieurs IPs de la même machine
    Bonjour à tous,

    Mon problème est plutôt simple :

    J'ai hébergé une application sur un VPS qui possède 2 adresses IPs.
    J'aimerais pouvoir faire des requêtes HTTP, en passant par l'une ou par l'autre IP.

    Dans mes recherches, j'ai appris le concept d'interface réseau, je crois avoir compris de quoi il s'agit, et je me suis familiarisé avec la classe NetworkConnection.

    Lorsque je fais une requête HTTP de cette façon :

    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
    28
    29
    30
     
    try
    {
        URL  url = new URL ("http:///www.developpez.net"); // par exemple ;)
     
        URLConnection  cnx = url.openConnection ();
     
        BufferedReader  in = new BufferedReader (new InputStreamReader (cnx.getInputStream ()));
     
        StringBuffer  szBuffer = new StringBuffer ();
        char []  tChar = new char [512];
     
        while (true)
        {
            int  iLength = in.read (tChar, 0, 512);
     
            if (iLength < 0)
                break;
     
            szBuffer.append (new String (tChar, 0, iLength));
        }
     
        in.close ();
     
        System.out.println (new String (szBuffer));
    }
    catch (Exception  e)
    {
    e.printStackTrace ();
    }
    Sauf erreur de frappe, cela fonctionne très bien.
    Mais cette requête "partira" toujours de l'ip1.

    Que faudrait-il modifier pour pouvoir utiliser l'ip2 ?

    J'espère avoir été suffisamment,

    Merci d'avance,

    Christoufe

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    tu n'a pas le controle sur l'ip source depuis ton programme. Pour les sockets clients, c'est l'OS, via ses tables de routages, qui détermine par quelle ip un paquet doit sortir. Donc dans ton cas, il faut adapter les tables de routages de ton VPS pour que le routage se fasse via l'autre IP par défaut. Il n'y a que pour les socket serveur (écoute) que tu peux choisir sur quelle interface tu te branche (par défaut: toutes).

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Bonjour tchize_, merci pour ta réponse.

    Donc dans ton cas, il faut adapter les tables de routages de ton VPS pour que le routage se fasse via l'autre IP par défaut
    Je peux faire cela dynamiquement avant chaque requête HTTP ?

    Si oui, comment faire ?

    Merci

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Non, c'est lié à la config réseau de l'OS. C'est l'OS qui choisit comment il route ses paquets

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    D'accord.

    Je me pose donc la question : à quoi cela peut-il bien servir d'avoir plusieurs adresses ip sur un seul serveur ?

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    a plein de choses liées ua fait que ta machine répond sur les deux ip. Ta machine peux etre un routeur ou un firewall (filtrage et transit de paquets entre deux réseaux), peux simplement devoir assumer plusieurs services liés à des IPs différents (aggrégation de services sur un seul serveur), peux avoir des machine virtuelles qui ont leur propre IP mais qui doivent être accessible de l'extérieurs. Etc.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Ok d'accord.

    J'en conclut que ce que je désire faire, comme je pensais le faire initialement, n'est pas possible.

    Mais y-a-t'il une autre solution ?
    Par exemple en lançant autant de JVM que d'ip sur la même machine, et de les faire communiquer entre elles ? (simple idée)

    (N'hésitez pas à me proposer d'autres solutions pour utiliser en out les deux ips de ma machine )

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/11/2013, 16h48
  2. Réponses: 9
    Dernier message: 19/04/2009, 15h45
  3. Réponses: 3
    Dernier message: 23/10/2007, 23h26
  4. Requête complexe sur plusieurs table
    Par DenPro dans le forum Langage SQL
    Réponses: 13
    Dernier message: 25/11/2003, 17h50
  5. A propos d'une requête SQL sur plusieurs tables...
    Par ylebihan dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/09/2003, 16h26

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