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 :

[TCP] Client / Serveur derrière un routeur


Sujet :

Entrée/Sortie Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 41
    Points : 81
    Points
    81
    Par défaut [TCP] Client / Serveur derrière un routeur
    Bonjour,

    J'essaye de faire communiquer 2 pc entre eux par Internet en TCP, en local tout fonctionne correctement, mais dès qu'il faut passer par internet je n'arrive pas à m'adresser au bon pc (derrière un routeur).
    L'architecture que j'utilise est la suivante : un serveur web qui récupère l'adresse IP des utilisateurs, et une application java (qui est serveur ou client).
    Au niveau du serveur web je peut récupérer 2 adresses. ex : 192.x.x.x qui est l'adresse de la box/routeur, et 172.x.x.x qui est l'adresse du pc dans le sous-réseau.

    Ma question est : comment dire au routeur de s'adresser à une IP particulière ?
    Je ne demande pas le code complet, mais je n'arrive pas à trouver une fonction qui permet de le faire dans la doc

    Je sais que l'on peut rediriger les ports des routeurs vers une IP particulière, mais c'est une application qui sera déployer, et les utilisateurs ne pourront pas toucher les réglages de leurs box.

    Merci d'avance.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    Ce n'est pas un problème de code java mais de réseau. Il faut configurer ton routeur pour qu'il fasse de la redirection de port.

    Ex : Rediriger toutes les requêtes TCP qui arrivent de l'extérieur sur le port 80 vers le port 80 de la machine A.

    Je ne vois pas comment faire autrement.

    Ou alors il faut que ce soit le client qui initie la connexion TCP.

  3. #3
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Tu n'as pas le choix : il faut configurer le routeur.

    EDIT : trop lent
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 41
    Points : 81
    Points
    81
    Par défaut
    Citation Envoyé par Mathieu.J Voir le message
    Ce n'est pas un problème de code java mais de réseau. Il faut configurer ton routeur pour qu'il fasse de la redirection de port.

    Ex : Rediriger toutes les requêtes TCP qui arrivent de l'extérieur sur le port 80 vers le port 80 de la machine A.
    Ça va être difficile avec un routeur d'entreprise et les utilisateurs "normaux".

    Citation Envoyé par Mathieu.J Voir le message
    Ou alors il faut que ce soit le client qui initie la connexion TCP.
    Le problème c'est que le client et le serveur est une seule et même application (de type P2P), j'ai fait cela parce que je n'ai pas les moyens de payer un serveur dédier, alors qu'un serveur web reste abordable pour l'utilisation que j'en fait.
    Mais apparemment je n'ai pas le choix, je vais quand même continuer à chercher un peu, mais au pire je passerais par un serveur dédié, car le code de l'appli est fini (juste le réseau à finir).

    Merci quand même d'avoir répondu, ça m'évitera de chercher trop longtemps un truc impossible à faire.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 41
    Points : 81
    Points
    81
    Par défaut
    Après quelques recherches, je vais donc faire un serveur PHP sur le serveur web, je n'ai donc pas besoin de racheter un autre serveur.

  6. #6
    Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    est ce que ça a marcher et est ce qu'on peut trouver une solution pour une application local

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Bien sûr que ça a marché, c'est la solution classique.

    Pour les applications locales, il faut configurer le routeur.
    Des solutions vaseuses existent, comme le Hole Punching ou le UPNP. Mais si tu te demandes pourquoi Blizzard et tous les systèmes d'échange P2P ne s'en servent pas, c'est simple : parce qu'il y a plein de cas où ça marche pas et où il faut donc prévoir une solution qui marche.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. client/serveur à travers un routeur ?
    Par supergrey dans le forum C++
    Réponses: 3
    Dernier message: 12/12/2009, 17h07
  2. Fin échange TCP client / serveur
    Par quikjean dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 05/06/2009, 10h07
  3. Accéder à un serveur derrière un routeur
    Par di-giac dans le forum Réseau
    Réponses: 5
    Dernier message: 01/05/2007, 03h26
  4. [TCP] Client/Serveur avec les composants Indy
    Par bakaneko dans le forum C++Builder
    Réponses: 2
    Dernier message: 14/02/2007, 12h47

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