Bonjour,

Je suis en exam (internet autorisée) mais j'ai un petit souci:
ma classe main doit créer 4 instances de ma classe Client ainsi qu'un socket de communication vers le serveur.
Jusque là ça va.
Mais il faut que ce socket soit partagé par tous les clients et ne doit être accédé à un même moment que par un client à la fois.

Voici mon 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
	public static void main(String[] args) {
 
		Client clt1=new Client();
		Client clt2=new Client();
		Client clt3=new Client();
		Client clt4=new Client();
 
		// TODO Auto-generated method stub
		try
		{
			Socket s = new Socket("localhost", portServeur);
			InputStream is = s.getInputStream();
			OutputStream os = s.getOutputStream();
			BufferedReader br = new BufferedReader(new InputStreamReader(is));
			//DataOutputStream dos = new DataOutputStream(os);
			PrintWriter pw = new PrintWriter(os, true);
			BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in));
			String chaine = (String)null;
 
 
 
		//Lecture d'une chaîne au clavier
		System.out.println("[Client] Saisissez une chaîne de caractères : ");
		chaine = keyboard.readLine();
 
		//Envoi de la chaîne au serveur
		//dos.writeChars(chaine);
		//dos.flush();
		pw.println(chaine);
		pw.flush();
		os.flush();
 
		//Affichage de la chaîne reçue en retour
		System.out.println("[Client] chaîne reçue : " + br.readLine());
 
		//Fermeture des flux
		keyboard.close();
		//dos.close();
		pw.close();
		br.close();
		os.close();
		is.close();
	}
	catch (Exception e)
	{
		System.err.println("Erreur du client.");
		e.printStackTrace(System.err);
	}
 
}
}
Pour que la socket soit partagé, je pensais mettre cette socket dans la classe client et utiliser les threads.
Qu'en pensez-vous?

merci d'avance
claire