bonjour,
j'ai fait un programme client serveur sur eclipse grâce aux socket afin de pouvoir communiquer entre deux pc via le même segment de réseau!!!
Le plus simple à vérifier déjà c'est d'envoyer des messages du client au serveur!!ça marche pas pour moi!!
Surement;il y aurait un concept que je n'ai pas bien saisi.
voila le code
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 package ssm; import java.io.*; import java.net.*; public class Client { public static void main(String[] args) { try { Socket connexion = new Socket("192.168.50.101", 8254); PrintWriter sortie = new PrintWriter(connexion.getOutputStream(), true); BufferedReader entree = new BufferedReader(new InputStreamReader(connexion.getInputStream())); BufferedReader clavier = new BufferedReader(new InputStreamReader(System.in)); boolean continu = true; while (true) { String ligne = entree.readLine(); if (ligne != null) System.out.println(ligne); if (!continu) break; ligne = clavier.readLine(); if (ligne.equalsIgnoreCase("quit")) continu = false; if (ligne != null) sortie.println(ligne); } } catch(IOException e) { System.out.println("Erreur : "+e); } System.out.println("Connexion terminée..."); } }
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
39
40
41
42
43
44
45
46
47
48 package ssm; import java.io.*; import java.net.Socket; class ThreadConnexion extends Thread { private Socket connexion; private int numero; public ThreadConnexion(Socket connexion, int numero) { this.connexion = connexion; this.numero = numero; } public void run() { try { BufferedReader entree = new BufferedReader(new InputStreamReader(connexion.getInputStream())); PrintWriter sortie = new PrintWriter(connexion.getOutputStream(), true); sortie.println("Bonjour, Bienvenu sur mon serveur, tapez quit pour sortir"); boolean continuer = true; while(continuer) { String ligne = entree.readLine(); if(ligne == null) { continuer = false; } else { sortie.println("Echo ("+numero+") : "+ligne); if(ligne.equalsIgnoreCase("quit")) continuer = false; } } connexion.close(); } catch(IOException e) { System.err.println(e); } } }voila tout.
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 package ssm; import java.io.*; import java.net.*; public class ThreadServer{ public static void main(String[] args) throws Exception { final int PORT = 8254; int numero=1; try{ ServerSocket service= new ServerSocket(PORT); while(true) { Socket connexion = service.accept(); new ThreadConnexion(connexion, numero++).start(); } } catch(IOException e) { System.out.println("Erreur : "+e); } } }
Partager