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 :

Problème Socket Java architecture Serveur multi Client


Sujet :

Entrée/Sortie Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Algérie

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

    Informations forums :
    Inscription : Décembre 2014
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Problème Socket Java architecture Serveur multi Client
    Bonsoir à tous,
    j'ai décidé de me lancer dans la programmation Sockets en JAVA. Je me suis donc lancer dans la réalisation d'un pgme de deux clients et un serveur, chaque client envoi au serveur un tableau d'entiers[1,2,3....,10] et un nmbre X, le serveur fait la multiplication de ce tableau par ce nombre X et renvoi le nouveau tableau.
    client1 envoi [1,2,3....,10],2 le serveur renvoi au client1 : [2,4,6,8,10,....,20]
    et la meme chose pour client 2.
    SVP quelqu’un peut m'aider et me donnée une demarche pour le resoudre,
    meerciiiii

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    tu coince sur quoi exactement?

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Algérie

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

    Informations forums :
    Inscription : Décembre 2014
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    je savai pas ou je met mn prgrm, puisque je doit travailler avec des thread, et est ce que je fait pour chaque client une classe et un code precis ou quoi? merci de me donnez des exemples

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Commence par faire deux programme séparés: le client et le serveur. Soit en faisant deux projet séparés dans ton ide, soit en créant deux classes main dans le même projet.

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Algérie

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

    Informations forums :
    Inscription : Décembre 2014
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    voila ce que j'ai fait:
    j'ai fait pour un seul client mais y a un erreur, je c pas pour quoi
    aidez moi svp
    Code Java : 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    public class Serveur1 {
      public static void main(String args[]) throws IOException {
        char[] tabc = null;
        int[] tab = null;
        int port = 1000;
     
        ServerSocket sersoc1 = new ServerSocket(port);
     
        System.out.println("serveur active sur port " + port);
        Socket soc = sersoc1.accept();
        System.out.println("Nouvelle connexion : " + soc);
        Thread t1 = new Thread(new ReceptionServeur(soc));
        t1.start();
     
        System.out.println("serveur active sur port " + port);
        while (true) {
          soc = sersoc1.accept();
          System.out.println("Nouvelle connexion : " + soc);
          t1 = new Thread();
          InputStream flux = soc.getInputStream();
          BufferedReader entree = new BufferedReader(new InputStreamReader(flux));
          String message = entree.readLine();
     
          tab = Mult.multiplication(message);
          System.out.println("message reçu sur le serveur" + tab[0]);
          OutputStream flux1 = soc.getOutputStream();
     
          OutputStreamWriter sortie = new OutputStreamWriter(flux1);
          sortie.write((java.util.Arrays.toString(tab)));
     
          sortie.flush(); // pour forcer l'envoi de la ligne
          soc.close();
     
        }
      }
    }
     
    public class ReceptionServeur implements Runnable {
      Socket soc;
     
      ReceptionServeur(Socket s) {
        this.soc = s;
      }
     
      @Override
      public void run() {
        int port = 1000;
        ServerSocket sersoc1;
        try {
          InputStream flux = soc.getInputStream();
          BufferedReader entree = new BufferedReader(new InputStreamReader(flux));
          String message = entree.readLine();
          Thread t4 = new Thread(new EmissionServeur(message));
          t4.start();
        } catch (IOException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
      }
    }
     
    public class EmissionServeur implements Runnable {
      private static PrintWriter out = null;
      private static int tab[];
      static String message;
     
      public EmissionServeur(String message) {
        this.message = message;
      }
     
      @Override
      public void run() {
        Socket soc = null;
        tab = Mult.multiplication(message);
        try {
          BufferedReader in = new BufferedReader(new InputStreamReader(soc.getInputStream()));
          message = in.readLine();
          System.out.println(message);
     
          out = new PrintWriter(soc.getOutputStream());
     
          out.println(tab);
          out.flush();
     
          OutputStream flux1 = null;
          OutputStreamWriter sortie = new OutputStreamWriter(flux1);
          sortie.write((java.util.Arrays.toString(tab)));
     
          sortie.flush(); // pour forcer l'envoi de la ligne
          soc.close();
        } catch (IOException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
      }
    }
     
    public class Client1 {
      public static void main(String args[]) throws IOException {
        char[] tabc2 = { '1', '2', '3', '4', '5', '6', '7', '8', '9', '2' };
        String charString = new String(tabc2);
        String hote = "localhost";
        int port = 1000;
        Socket soc = new Socket(hote, port);
        OutputStream flux = soc.getOutputStream();
        OutputStreamWriter sortie = new OutputStreamWriter(flux);
        sortie.write(charString + "\n");
        sortie.flush(); // pour forcer l'envoi de la ligne
        soc.close();
      }
    }

  6. #6
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Points : 7 084
    Points
    7 084
    Par défaut
    Citation Envoyé par abdelhak_z Voir le message
    j'ai fait pour un seul client mais y a un erreur, je c pas pour quoi
    Qu'as-tu comme erreur. Nous ne pouvons t'aider qu'à la condition que tu détailles les problèmes que tu rencontres.

    Autrement,
    • les classes "ReceptionServeur" et "EmissionServeur" ne sont pas utilisées,
    • Quand tu utilises les OutputStream[Writ|Read]*er, tu devrais utiliser un encoding spécifique.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Mars 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Mars 2015
    Messages : 5
    Points : 9
    Points
    9
    Par défaut codeur_java
    Bonjour cet artcle peut vous aider
    http://www.javacademia.com/2014/11/j...mini-chat.html
    il explique comment créer les sockets avec les threads

Discussions similaires

  1. Problème Socket Java architecture Client Serveur
    Par Jonny-1600 dans le forum Langage
    Réponses: 4
    Dernier message: 30/11/2012, 20h50
  2. Communication Serveur- Multi Client via socket
    Par jesuisperdu dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 14/03/2011, 09h37
  3. Liste chainée, sockets, serveur multi clients.
    Par jbarreau-mainson dans le forum Réseau
    Réponses: 4
    Dernier message: 01/05/2009, 12h15
  4. Probleme Serveur/Multi-client avec socket
    Par CouaC dans le forum Réseau
    Réponses: 9
    Dernier message: 18/06/2007, 00h49
  5. [sockets][UDP][C/C++] serveur multi-clients
    Par l@rry dans le forum Développement
    Réponses: 4
    Dernier message: 08/06/2006, 14h11

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