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

Langage Java Discussion :

Probleme de connexion client serveur


Sujet :

Langage Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 77
    Points : 53
    Points
    53
    Par défaut Probleme de connexion client serveur
    Salut,
    J'ai effectuer un client serveur multiutilisateur en java, sur le principe d'une messagerie, le probleme c'est que mes client peuvent se connecter a mon serveur seulement en reseau local.
    Je peu pas me servir de mon application par le biais d'intrernet et je voudrait savoir ce qui ne va pas dans mon code :

    ci joint un bout du code de connection serveur :

    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
     
     
    public class Serveur{
       static final int port = 8086;
       static final Utilisateur tab[] = new Utilisateur[10];
       public static int j = 0;
     
       public static void main(String[] args) throws Exception {
     
    	// 1. Creation du socket serveur
     
     
    	// le port d'ecoute > 1024 
    	ServerSocket s = new ServerSocket(port);
    	System.out.println("SOCKET "+s);
     
    	System.out.println("En attente de connexion...");
    	while (true)
    	{	
    		Socket soc = s.accept();
    		System.out.println("Nouvelle connection");			
    		// accept est méthode bloquante
    		tab[j] = new Utilisateur(soc);
    		tab[j].start();
    		j++;
    	}

    et du code client :
    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
     
     
    public class Client {
     
       // parametres a fournir sur le ligne de commande
       static int port;
       static String nomHote;
       // definition du flux d'entree clavier
       static BufferedReader fluxClavier = new BufferedReader(
                                     new InputStreamReader(System.in));
     
       public static void main(String[] args) throws Exception {
     
    	// 1. Creation du socket 
    	// definition du port et de l'adress IP 
    	String nom = args[2];
    	port=(new Integer(args[1])).intValue();
    	nomHote=args[0];
     
    	Socket s = new Socket(nomHote,port);
    	System.out.println("SOCKET "+s);
    j'espere que vous pourrez m'aiguiller, merçi d'avance

  2. #2
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Lorsque tu exécutes le client, tu dois donner le nom d'hote ( ou adresse ip ) internet de la machine serveur et non son adresse sur le réseau local.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 77
    Points : 53
    Points
    53
    Par défaut
    oui merçi je le sais bien mais ça ne marche pas :s

    ps : message au admin de developpez.net serait il possible de deplacer ma discution vers le forum java general s'il vous plait ?

  4. #4
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut
    salut,
    je crois que dans ton cas que les ports sont fermées pour les équipements (tel que les routeurs...) dans Internet pour des raisons de sécurité. essaye d'utiliser un port plus grand.
    autre chose je ne comprend pas pourquoi tu laisse le client choisir le port de communication c'est choses doivent être fixés pour assurer le bon déroulement de la communication en plus de ça tu doit tenir en compte que les utilisateurs de l'application ne sont pas expérimenter et ils ne sont pas censés savoir quesqu'un port de communication ou une socket ou une adresse IP....
    essaye aussi de fixer le port pour le client et le serveur et éxécute peut être...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 77
    Points : 53
    Points
    53
    Par défaut
    Oui ne t'inkiete pas sur mon programme les port et l'adresse ip de mon serveur sont codé en dur dans la partie client, je laisse seulement le choix du "nom" de connexion a l'utilisateur.

    les ports utilisés sont bien identique coté client et coté serveur, mais meme en virant mon pare feu windaube ça ne fonctionne pas ...

    sinon quel port utilisé ?

  6. #6
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut
    salut,
    les ports fermés sont les ports de connexion Internet des équipements de routage et non pas de ton poste (tu n'y peut rien).
    autre chose tu doit utiliser pour la connexion l'adresse IP du serveur sur Internet et non sur le réseau local même chose pour le client. (vérifie ça)
    pour les ports essaye d'utiliser des ports de l'ordre de 20000==>30000

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 77
    Points : 53
    Points
    53
    Par défaut
    Re,
    oui j'ai bien utiliser mon adresse ip et non mon adresse sur mon reseau local,

    je vais essayer de me connecter sous different port mais j'ai peur que ça donne le meme resultat sachant que j'en ai deja tester 3

  8. #8
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut
    salut,
    bon je crois que c'est le problème de ports comme j'ai dit je crois qu'il existe une solution à ce problème. j'ai vu une discussion qui traite le même exemple dans le forum.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 77
    Points : 53
    Points
    53
    Par défaut
    impossible de faire marcher cette merde meme en changeant les ports ...

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 81
    Points : 90
    Points
    90
    Par défaut
    Donc si je comprend bien, ton application marche en local mais ne marche pas depuis internet ?
    - Qu'elle est ton FAI ?
    - De plus, si tu es sous windows XP SP2. Désactive le Pare-feu pour tester.
    - Quand tu te connecte, le client te retourne quoi comme exception .

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 77
    Points : 53
    Points
    53
    Par défaut
    Dsl c'est ma premiere année de java don FAI ça veu dire quoi ? ^^

    hum oui j'ai deja tester d'enlever mon pare feu ça n'y change rien

    liste des exception :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    run: java.net.ConnectException: Connection refused: connect        
    at java.net.PlainSocketImpl.socketConnect(Native Method)         
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)         
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)         
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)         
    at java.net.Socket.connect(Socket.java:461)         
    at java.net.Socket.connect(Socket.java:411)         
    at java.net.Socket.<init>(Socket.java:310)         
    at java.net.Socket.<init>(Socket.java:125)         
    at client.Main.main(Main.java:38) // celle la je sait d'ou elle vient
    une idée ?

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 81
    Points : 90
    Points
    90
    Par défaut
    FAI = Fournisseur Fournisseurs Accès Internet.

    D'après le message d'erreur, ton client trouve bien ton ordinateur, mais la connexion est refusé.

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 77
    Points : 53
    Points
    53
    Par défaut
    mon FAI c'est wanadoo (wanadaube pour les intimes)

    donc sur la wanabox y'a un part feu integré enfin un truc du genre, donc j'ouvre des exception sur mon routeur pour les port que je use, mais ça marche pas +.

    bref je need mass help

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 81
    Points : 90
    Points
    90
    Par défaut
    Normalement, tu doit pouvoir ouvrir certain port.
    Essaye de faire marcher ton logiciel en utilisant le port 80.

    - Il faut dire à la livebox de rediriger le port 80 vers ton PC.
    - Une fois la redirection effectuée, redémarre la livebox.
    - Ensuite test et dit nous si ca marche ou non...

    Configuration de la livebox :
    Nom du serveur: Tu donne un nom. Exemple -> Mon JAVA...
    Accès activé: Tu répond oui sinon personne ne pourra se connecter.
    Protocole: Normalement tu doit prendre TCP ( si rien ne marche test UDP ).
    Port: 80
    Adresse IP locale: IP de ta machine ( adresse de la machine serveur ).

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 77
    Points : 53
    Points
    53
    Par défaut
    rien a faire meme en configurant mon routeur en TCP ou UDP ça change rien .... il me sort toujour les memes exceptions

  16. #16
    Membre averti Avatar de Rayndell
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 289
    Points : 323
    Points
    323
    Par défaut
    Ca ne devrait pas résoudre ton problème j'entr'aperçois une erreur dans ton code : tab est un champ final, donc il ne peut être modifié. Utilise plutôt un attribut private (pas static ni final).

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 77
    Points : 53
    Points
    53
    Par défaut
    vi merçi je le modifierais mais ça ne fait pas avancer mon probleme :s

Discussions similaires

  1. Problème de connexion avec serveur AD - Samba
    Par mask66 dans le forum Réseau
    Réponses: 8
    Dernier message: 24/08/2009, 12h07
  2. Problèmes de connexion au serveur - Samba
    Par Gwen38 dans le forum Réseau
    Réponses: 5
    Dernier message: 09/05/2005, 18h18
  3. [SOCKET] connexion client serveur avec applet
    Par kaiser2003 dans le forum Applets
    Réponses: 2
    Dernier message: 06/10/2004, 22h32
  4. Probleme de connexion au serveur Hotmail
    Par black is beautiful dans le forum Développement
    Réponses: 8
    Dernier message: 17/09/2004, 22h18
  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