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 :

Connexion client/serveur par socket


Sujet :

Entrée/Sortie Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 30
    Points : 20
    Points
    20
    Par défaut Connexion client/serveur par socket
    Bonsoir,

    je suis en ce moment en train de développer une application permettant l'échange de données entre un client et un serveur, grâce à la communication par socket.
    Jusque là, tout mon programme était tester en local (localhost ip 127.0.0.1).
    Maintenant je voudrais le faire entre 2 ordinateurs distants,
    j'ai donc remplacer le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Socket clientSocket = new Socket("localhost", 10002);
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Socket clientSocket = new Socket("82.237.74.31", 10002);
    //étant l'adresse Ip d'un ordinateur distant
    Mais cela ne marche pas, je ne comprend pas comment faire marcher la chose, peut-être me suis-je trompé sur l'adresse ip ? dans ce cas comment puis-je connaître cette adresse. Où sinon, c'est un problème de synthaxe et j'utilise mal l'instruction.
    J'ai trouvé ce constructeur sur la javadoc :
    Socket(InetAddress address, int port), je pense que c'est celui là qu'il faut utiliser mais comment (Comment renseigné l'InetAddress ...) ?

    Merci de votre aide.

  2. #2
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    As tu vérifié qu'il ne s'agit pas d'un problème de parefeu?
    La première des chose pour vérifier la connection serait de faire un "ping 82.237.74.31" en ligne de commande pour voir si ton serveur répond.
    Ensuite vérifie qu'un parefeu ne bloque pas certains ports

  3. #3
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Le probleme peut aussi venir du fait que le serveur soit situé derriere un routeur. Auquel cas, il faut rediriger le port du routeur sur la machine executant le serveur.
    Mais comment as tu eu cette adresse ip? Tu peux avoir l'adresse ip internet de ta machine et celui du serveur sur cette page :http://darrylsite.freeprohost.com/getip.php

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 30
    Points : 20
    Points
    20
    Par défaut
    Et bien je ne sais pas du tout d'ou vient le problème, pour l'ip c'est un ami qui m'a donné son Ip et à qui j'ai donné la partie serveur du programme...
    Mais synthaxiquement, est ce que le fait de mettre l'ip de la machine distante dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Socket clientSocket = new Socket("82.237.74.31", 10002);
    est correct ?

  5. #5
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    Si ton ami fait tourner la partie serveur, a priori oui.
    Maintenant si comme je le suppose ton ami est derrière une (free/live/SFR/...)box, l'addresse IP dont tu dispose est l'adresse de la box. Or le serveur n'est pas executé directement sur la box mais sur un ordinateur relié à la box.
    Il faut donc probablement que ton ami paramètre sa box pour que les connections entrantes sur le port 10001 soient redirigées vers son ordinateur.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 139
    Points : 35
    Points
    35
    Par défaut
    Demandes-lui aussi si c'est une adresse IP dynamique ou statique.

Discussions similaires

  1. [Python 2.X] Connexion client serveur par module socket
    Par Toug19 dans le forum Réseau/Web
    Réponses: 2
    Dernier message: 30/01/2015, 09h04
  2. Socket connexion client/serveur en WIFI
    Par walslayer dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 11/01/2012, 10h44
  3. client serveur par socket
    Par darkgenesis dans le forum EDT/SwingWorker
    Réponses: 3
    Dernier message: 15/01/2009, 20h09
  4. [SOCKET] connexion client serveur avec applet
    Par kaiser2003 dans le forum Applets
    Réponses: 2
    Dernier message: 06/10/2004, 22h32
  5. comment gerer plusieurs connexions client/serveur
    Par naili dans le forum C++Builder
    Réponses: 3
    Dernier message: 14/08/2002, 16h58

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