Bonjour,
Je suis en train de faire un programme composé d'un serveur et de plusieurs client, à la connexion d'un client on demande de taper un pseudo. Cependant quand je lance plusieurs client, le programme se concentre seulement sur un seul client alors que j'utilise les threads.
je vous met une partie des programmes de la partie serveur et client pour que vous puissiez regarder ce qu'il ne va pas.
coté serveur
serveur
connexion
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 public class Serveur { public static final Statement Null = null; public static Thread t; public static ServerSocket ss = null; public static Statement state1 = Null; public PrintWriter out; public static void main(String[] args) throws IOException, SQLException, InterruptedException{ state1 = SQL.sql("quizz"); ss = Communication.initconnexion(); t = new Thread( new Connexion(ss, state1)); t.start(); //Communication.quitter(); } }
coté 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
24
25
26
27
28
29
30
31
32 public class Connexion implements Runnable { public static ServerSocket socketserver = null; public static Socket socketduserveur = null; public static BufferedReader in = null ; public static PrintWriter out; public static Statement state2; public Thread t1; public Connexion(ServerSocket ss, Statement state) { socketserver = ss; state2 = state; } public void run() { try { while(true){ socketduserveur = socketserver.accept(); in = new BufferedReader(new InputStreamReader(socketduserveur.getInputStream())); out = new PrintWriter(socketduserveur.getOutputStream()); out.println("Veuillez choisir un pseudo: "); out.flush(); System.out.println(in.readLine()); out.println("Vous etes connecte"); out.flush(); t1 = new Thread ( new Questionnaire("quizz", state2)); t1.start(); } }catch (IOException e) { e.printStackTrace(); } } }
client
connexion
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public class Client { public static void main(String[] zero) throws IOException { Scanner sc = new Scanner(System.in); String b = "" ; int a =0; int c =0; int rep; Thread t; t = new Thread( new Connexion()); t.start();
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 public class Connexion implements Runnable { static Socket socket; static BufferedReader in; static PrintWriter out =null; Scanner sc = new Scanner(System.in); static String pseudo; public void run() { try { socket = new Socket("192.168.137.1",2009); in = new BufferedReader (new InputStreamReader (socket.getInputStream())); out = new PrintWriter(socket.getOutputStream()); System.out.println(in.readLine()); pseudo = sc.nextLine(); Connexion.out.println(pseudo + " est connecte"); Connexion.out.flush(); }catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
Partager