Bonjour,

je suis en train de faire une communication entre serveur. Mon serveur a un thread de reception voici ce que je voudrai faire : J'ai un index commun pour mes threads, c'est ma ressource critique.

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
 
        private vector <socket> vSocket;
        private vector <timer> vTimer;
        private int index;
 
 
	public void run() {
 
                /* retourne des référence pour un socket et un timer et autre
selon mon indexe. Tout cela dans un dans une seule méthode synchronized
car l'index lie entre eux vSocket.get(index) et vTimer.get(index), comment
faire??? */
 
 
		try {
			while(!finished) {
					DatagramPacket pack =
					new DatagramPacket(socket.getData(), socket.getData().length);
 
				// Receive datagram
				if(socket.getSocket() != null) {
					socket.getSocket().receive(pack);
					String recept = new String (pack.getData(), pack.getOffset(), pack.getLength(), "ISO-8859-1");
 
					System.out.println(recept);
 
					// ... test de comparaison sur la reception
				} 
			}
		}	 
		catch (SocketException e) {
			System.err.println("Fermeture inattendue sur une socket");
		} 
		catch (IOException e) {
			e.printStackTrace();
		}
	}