Bonjour, je veux faire un programme avec un serveur et un client.
Pour le serveur j'ai ce code. Seulement je dois permettre de pouvoir démarrer et arreter le sereur dès que l'on veut. Quand on lance le serveur le programme plante puisque le serveur fais une boucle infinie pour les nouvelles connections. Comment puis je faire tourner le serveur sans faire planter le programme, donc permettre d'arreter le serveur?
Voici le 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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 class JServeur extends Thread { final static int port = 8000; private Socket socket; public JServeur(){} public static void lance(){ try { ServerSocket socketServeur = new ServerSocket(port); System.out.println("Lancement du serveur"); while (true) { Socket socketClient = socketServeur.accept(); JServeur t = new JServeur(socketClient); t.start(); } } catch (Exception e) { e.printStackTrace(); } } JServeur(Socket socket) { this.socket = socket; } public void run() { traitements(); } public void traitements() { try { String message = ""; System.out.println("Connexion avec le client : " + socket.getInetAddress()); BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintStream out = new PrintStream(socket.getOutputStream()); message = in.readLine(); out.println("Bonjour " + message); socket.close(); } catch (Exception e) { e.printStackTrace(); } } }
Partager