Bonjour,
j'ai essayé de faire une application avec plusieurs clients, et un seul serveur en Java. Pour cela, j'utilise une classe Clients et une classe Serveur (je suppose ici que les clients et le serveur sont représentés par la même machine). Le serveur ne doit, en principe, pas savoir combien de clients il devra traiter, j'ai donc utilisé une boucle "while(true)" , avec un traitement de requête d'un client par tour de boucle. J'ai donc le code suivant :
Le problème vient de la dernière ligne de code : pour fermer le serveur, j'utilise la méthode "close" de la classe ServerSocket. Le problème est que, comme elle se situe après une boucle infinie, le problème ne peut théoriquement jamais y accéder, et cela génère une erreur à la compilation. Qqn pourrait-il me dire s'il existe un moyen de résoudre ce problème ??
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 ServerSocket ss = new ServerSocket(1100); while(true) { Socket s = ss.accept(); System.out.println("Connexion acceptee"); InputStream is = s.getInputStream(); OutputStream os = s.getOutputStream(); DataInputStream dis = new DataInputStream(is); DataOutputStream dos = new DataOutputStream(os); PrintStream pr = new PrintStream(os); String str = dis.readLine(); System.out.println(str); pr.println(str + "Reponse"); s.close(); } ss.close();
Merci d'avance.
Partager