bonjour a tous,
j'ai développé un serveur et un client pour un jeu, mais j'ai un probleme, je veux limiter le nombre de connexions de client et quand les clients sont tous prets, empecher un nouveau client de se connecter.
code du client pour se connecter:
code du serveur :
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 public int connexion ( ) { try { //socket = new Socket ( "5.161.238.1" , port ) ; socket = new Socket ( "localhost" , port ) ; socket.setSoTimeout ( 5000 ) ; ecriture_objet = new ObjectOutputStream ( socket.getOutputStream ( ) ) ; lecture_objet = new ObjectInputStream ( socket.getInputStream ( ) ) ; ecriture_texte = new PrintWriter ( new BufferedWriter ( new OutputStreamWriter ( socket.getOutputStream ( ) ) ) , true ) ; lecture_texte = new BufferedReader ( new InputStreamReader ( socket.getInputStream ( ) ) ) ; } catch ( Exception e ) { return 0 ; } return 1 ; }
donc comme je veux on ne peut pas faire plus de 10 connexions, et quand j'ai 2 clients qui on envoyer un certain message au serveur, son attribut bloc passe a 1,mais un nouveau client peut se connecter ce qui n'est pas normal.
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 public void lancement ( ) { try { try { s = new ServerSocket ( port ) ; fenetre.get_lancement ( ).setText ( "Serveur ON" ) ; } catch ( Exception e ) { fenetre.get_lancement ( ).setText ( "Serveur OFF" ) ; } while ( fin == 0 ) { if(nbr_connexions <= 9) { if ( bloc == 0 ) { soc = s.accept ( ) ; if ( soc != null ) { Connexion c = new Connexion ( this , soc , nbr_connexions ) ; c.start ( ) ; nbr_connexions ++ ; } } } } } catch ( Exception e ) { System.out.println ( "erreur Serveur [lancement] : " + e ) ; } try { soc.close ( ) ; s.close ( ) ; } catch ( Exception e ) { System.out.println ( "erreur Serveur [lancement] : " + e ) ; } }
voila si vous pouviez m'aider.
merci a tous
Partager