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

avec Java Discussion :

MultiThreaded Chat Application


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 6
    Points : 7
    Points
    7
    Par défaut MultiThreaded Chat Application
    Bonsoir tout le monde,

    j'ai besoin d'aide dans la manipulation de socket dans une application de chat avec JavaFX.
    Mon problème est que lorsqu'un client envoit une message à un autre client, le message apparait pour ce client et non pas dans la fenêtre de l'autre client.

    J'utilise ce code ci-dessous pour la broadcast pour tous les clients :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
                          synchronized (this) {
     
    				for (int i = 0; i < maxClientsCount; i++) {					
                                        if (threads[i] != null || threads[i].clientName != null) {
    				         threads[i].out.println(name + ": " + line);
    					 threads[i].out.flush();
    				     } else {
    					 System.out.println("something wrong");
    					}
    				 }
     
    				}
    J'identifie chaque Thread par le nom de client quand il connecte au serveur à travers clientName.
    Merci d'avance.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Je suppose que tu sais identifier quel est le client destinataire d'un message, donc il te suffit de chercher celui-ci pour l'envoyer uniquement à celui-ci. Donc parcourir ton tableau de client pour comparer le clientname avec le destinataire (par for, forEach, Stream, etc), ou d'utiliser une Map éventuellement.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    j'ai résolu le problème de communication entre client - client , mais un autre problème apparut.
    quand j'envoie un message , une fois il envoie, une autre il n’envoie pas .
    ci-dessous le code d'envoi :
    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
    @Override
    	public void run() {
     
    		try {
    			s = new Socket(adr, port);
    			in = new BufferedReader(new InputStreamReader(s.getInputStream()));
     
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		try {
     
    			while (s.isConnected()) {
    				String msg = in.readLine();
    				if (msg != null) {
    					System.out.println(msg +" from server ");
    					ControllerChatRoom.getInstchatr().addToChat(msg);
    				}
    			}
     
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}

Discussions similaires

  1. mini chat application
    Par MR-SMOOT dans le forum Langage
    Réponses: 1
    Dernier message: 19/02/2016, 15h17
  2. mini chat application
    Par MR-SMOOT dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 15/02/2016, 14h53
  3. J2EE Java Chat Application
    Par goldenman84 dans le forum Java EE
    Réponses: 0
    Dernier message: 31/10/2009, 17h32
  4. chat avec JSP:architecture de l'application
    Par rvfranck dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 01/07/2006, 04h54
  5. [VB]Application : Chat Réseau
    Par ouar dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 25/01/2006, 21h29

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