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 :

Dialoguer à travers une socket


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de YuGiOhJCJ
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 206
    Par défaut Dialoguer à travers une socket
    Bonjour,
    j'ai créé une socket Serveur et une socket 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
    22
    23
     
    import java.net.*; //Les paquetages net pour Socket
    import java.io.*; //Les paquetages io pour IOException
    class Toto{
    	public static void main(String[] args){
    		//Création de la socket serveur
    		try{
    			ServerSocket socket_serveur = new ServerSocket(5555);
    		}
    		catch (IOException e){
    			System.err.println(e);
    		}
    		//Création de la socket client
    		try{
    			Socket socket_client = new Socket("127.0.0.1", 5555);
    		}
    		catch (UnknownHostException e){
    			System.err.println(e);
    		}
    		catch (IOException e){
    			System.err.println(e);
    		}
    }
    Jusque là pas de problème...
    Maintenant j'essaye de dire au serveur d'accepter les connexions entrantes en utilisant la méthode accept() de l'objet ServerSocket:
    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
     
    import java.net.*; //Les paquetages net pour Socket
    import java.io.*; //Les paquetages io pour IOException
    class Toto{
    	public static void main(String[] args){
    		//Création de la socket serveur
    		try{
    			ServerSocket socket_serveur = new ServerSocket(5555);
    		}
    		catch (IOException e){
    			System.err.println(e);
    		}
                    socket_serveur.accept();
    		//Création de la socket client
    		try{
    			Socket socket_client = new Socket("127.0.0.1", 5555);
    		}
    		catch (UnknownHostException e){
    			System.err.println(e);
    		}
    		catch (IOException e){
    			System.err.println(e);
    		}
    }
    Mais là j'obtiens l'erreur du compilateur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    cannot find symbol
    symbol  : variable socket_serveur
    location: class Toto
                    socket_serveur.accept();
                    ^
    1 error
    Pourtant ma variable existe je l'ai créé plus haut...
    Qui peut m'aider?
    Merci.

  2. #2
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ServerSocket socket_serveur = null;
    try{
       socket_serveur = new ServerSocket(5555);
    }
    catch (IOException e){
       System.err.println(e);
       throw e;
    }
    socket_serveur.accept();

  3. #3
    Membre confirmé Avatar de YuGiOhJCJ
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 206
    Par défaut
    Super ça marche...En Java il faut toujours déclarer en dehors des try{}?

  4. #4
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Tu peux mettre la balise

  5. #5
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Citation Envoyé par YuGiOhJCJ
    Super ça marche...En Java il faut toujours déclarer en dehors des try{}?
    Pas systématiquement, mais une variable locale (définie dans une méthode) est visible seulement dans le bloc d'insctructions dans la laquelle elle est déclarée; un bloc d'instructions étant définit pas les caractères { et }.

    Une variable définie dans aucun bloc d'insctructions est donc globale à la méthode.

    Désolé mais c'est la POO niveau 0 ça... Ca serait bon de revoir les bases.

    A+

  6. #6
    Membre éprouvé
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Par défaut
    Salut,

    Citation Envoyé par YuGiOhJCJ
    Super ça marche...En Java il faut toujours déclarer en dehors des try{}?
    C'est surtout un problème de visibilité, pas forcément en POO, dans des langages procéduraux comme le C++, c'est aussi le cas : une variable définie dans un bloc d'instruction (comme un try{}) ne sera visible que dans le bloc dans lequel elle est définie.

    Cordialement

    Fred

  7. #7
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Euh, tu parles du C++ je suppose, car en C les variables sont définies en début de fontion (ou globales si en dehors) point barre

  8. #8
    Membre éprouvé
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Par défaut
    woups oui le C++

    Fred

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

Discussions similaires

  1. l'envoi des données à travers d'une socket
    Par rezguiinfo dans le forum Général Python
    Réponses: 5
    Dernier message: 22/01/2014, 16h18
  2. Paramétrage de socket pour dialogue avec une appli en C++
    Par DgpMartin dans le forum Windev Mobile
    Réponses: 1
    Dernier message: 07/09/2012, 11h23
  3. Envoyer une Image a travers une socket, par paquet
    Par gibsonSG_76 dans le forum Débuter
    Réponses: 4
    Dernier message: 30/05/2012, 13h27
  4. Envoyer un Caractère null à travers une socket
    Par Elendhil dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 02/04/2010, 00h16
  5. [CR] Tranfert de formulaire a travers une page HTMl
    Par LIEU dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 12/09/2002, 08h37

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