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 :

[Réseau] connexion vers une machine derriere un routeur


Sujet :

Entrée/Sortie Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 106
    Points : 78
    Points
    78
    Par défaut [Réseau] connexion vers une machine derriere un routeur
    Bonjour,

    Mon but est d'envoyé des données vers une adresse determinée.
    Plus particulièrement si l'adresse destination est derrière un routeur.

    Admettons le cas 1: IP de la machine a atteindre : 11.22.33.44 (exemple ci-dessous fonctionne)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
       String HOST = "11.22.33.44";
       int PORT = 7000;
     
       /* envoie des données */
       Socket client = new Socket(HOST,PORT);
       PrintWriter pw = new PrintWriter(client.getOutputStream());
       pw.println("chaîne de caractères quelconque");
       pw.flush();
       client.close();
    le cas 2: Maintenant, je veux envoyé ce même paquet à une machine derrière le routeur d'adresse IP 82.83.84.85 et là machine a pour IP 241.1.0.10 sur le réseau du routeur.

    Jusqu'a présent, on m'a dit de configurer le routeur. Celà a été fait et marche complétemen (je rémercie encore ceux qui m'ont orienté dans cette direction). Mais il doit forcement existé un moyen de faire sans.
    MSN, IRC ou autres programmes par exemple, m'envois bien des données sans que mon routeur soit configuré, il connait mon routeur et ma machine. En java, il suffit p-e d'une ligne en plus pour permettre la connection sans configurer le routeur.

    Merci de vos réponses.

  2. #2
    Membre actif Avatar de keil
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    261
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 261
    Points : 214
    Points
    214
    Par défaut
    bah pour info, la je suis au travaille, derriere un routeur, et impossible que les gens me transmette des fichiers, ces derniers peuvent recevoir les miens quand meme.
    dans ton cas, a mon avis, ton routeur est relié à un switch, utilise un hub plutot
    Colère et Haine mènent à la Puissance

  3. #3
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Bonjour,

    Techniquement, il faut configurer ton routeur pour connecter "directement" ta machine qui est dérrière sur un port donné. Ca s'appelle un nat, ton routeur détermine qu'une action sur un port donné s'applique à une machine donné, et envoie les informations vers celle-ci.

    Ceci est valable pour les ports en "écoute". Comment ton routeur pourrait savoir quelle machine attend l'information délivrée sur le port 7000 si tu ne le configure pas ? Il n'a aucun moyen de le savoir.

    En ce qui concerne une communication initiée par ta machine derrière ton routeur le fonctionnement est différent : le routeur _sait_ que ta machine cherche à communiquer vers l'exterieur, et s'occupe donc de router les informations en retour vers la bonne machine. C'est pour cela qu'irc, ou msn fonctionne bien, même sans paramètre : tu as initié ta "session" par ta machine à l'intérieur du réseau du routeur, ce qui a eu pour effet de créer une sorte de "boucle virtuelle" d'envoi et de reception de données.
    K

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Ca n'a rien à voir avec Java : c'est un problème de routage, niveau IP, qui ne concerne pas Java. Que tu veuilles faire un ping, un telnet ou du FTP, le problème reste le même.

    Si MSN, IRC, etc., fonctionne alors que tu es derrière un routeur (sur Internet, finalement, tout le monde est derrière un routeur, sinon y aurait pas de notion de sous-réseau), c'est que l'échange de fichier fonctionne à l'envers de ce que tu penses : on ne t'envoie pas un fichier, tu viens le chercher !! C'est un peu le principe du mode passif pour FTP. C'est possible tout simplement parce qu'on passe par un protocole maison etun serveur qui peut servir d'intermédiaire dans les échanges de fichiers.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 106
    Points : 78
    Points
    78
    Par défaut
    D'accord merci, c'est très intéréssant

    J'avais pas vraiment saisi avant le système que KiLVaiDeN explique. je trouve ca logiquement maintenant. Merci.

    En ce qui concerne une communication initiée par ta machine derrière ton routeur le fonctionnement est différent : le routeur _sait_ que ta machine cherche à communiquer vers l'exterieur, et s'occupe donc de router les informations en retour vers la bonne machine. C'est pour cela qu'irc, ou msn fonctionne bien, même sans paramètre : tu as initié ta "session" par ta machine à l'intérieur du réseau du routeur, ce qui a eu pour effet de créer une sorte de "boucle virtuelle" d'envoi et de reception de données.
    Celà m'a vraiment bien expliqué le fonctionnement.
    Encore merci, à _Mac_, KiLVaiDeN, Keil

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

Discussions similaires

  1. Connexion vers une BD oracle
    Par aldapal dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 07/02/2008, 14h30
  2. Réponses: 6
    Dernier message: 20/07/2007, 15h17
  3. [GCC]Faire compiler du C vers une machine "home-made"
    Par progfou dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 18/08/2006, 13h00
  4. Connexion sur une machine derriere un routeur
    Par nixonne dans le forum Général Java
    Réponses: 9
    Dernier message: 20/07/2006, 20h38
  5. [Débutant] Connexion sur une machine distante protégée
    Par arthix dans le forum Développement
    Réponses: 3
    Dernier message: 28/08/2003, 09h46

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