Bonjour,
Alors voila mon problème est le suivant. J'ai fait un petit tchat multiclient mais j'ai un problème pour la conception du client. Je m'explique, je cherche un moyen de faire un client qui me permette en même temps d'afficher les phrases des autres et les miennes mais aussi en même temps que je puisse en envoyer aussi. Tout ceci en mode console.
Je m'explique, je voudrais quelque chose qui fasse à peut près comme ceci sur l'écran des clients:
Parce que la j'ai un client qui me permet que d'écouter les autres:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 1er client: hello 2ème client: lut moi: yep écrire: (ici ce trouve le message que je voudrais envoyer)
Et un autre qui me permet que d'envoyer des messages:
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
27
28
29
30
31
32
33
34
35 import java.io.*; import java.net.*; public class Client { public static void main(String[] args) throws IOException { Socket socket = null; BufferedReader in = null; try { socket = new Socket("local-PC", 1234); in = new BufferedReader(new InputStreamReader(socket.getInputStream())); } catch (UnknownHostException e) { System.err.println("impossible de joindre l'hote"); System.exit(1); } catch (IOException e) { System.err.println("probleme de I/O avec l'hote"); System.exit(1); } String serveur; while (true) { serveur = in.readLine(); System.out.println(serveur); if (serveur.equals("quit")) { break; } } System.out.println ("++"); in.close(); socket.close(); } }
Et j'aimerai trouver une conception qui me permette de faire les deux en même temps. Si quelqu'un a une idée je lui en serait reconnaissant^^ Merci d'avance
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
27
28
29
30
31
32
33
34
35
36
37
38 import java.io.*; import java.net.*; public class Client { public static void main(String[] args) throws IOException { Socketsocket = null; PrintWriter out = null; try { socket = new Socket("local-PC", 1234); out = new PrintWriter(socket.getOutputStream(), true); } catch (UnknownHostException e) { System.err.println("impossible de joindre l'hote"); System.exit(1); } catch (IOException e) { System.err.println("probleme de I/O avec l'hote"); System.exit(1); } BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in)); String client; while (true) { client = stdIn.readLine(); out.println (client); if (client.equals("quitter")) { break; } } System.out.println ("++"); out.close(); stdIn.close(); socket.close(); } }![]()
Partager