Bonjour à tous,
voilà j'aimerais créer une application de type "Serveur", qui ouvre 2 ports et qui attend une connexion sur chacun d'eux. Donc je crée une classe Serveur que voici :
Le constructeur reçois le numéro de port a mettre en écoute. Je crée donc 2 objets Serveur avec le main :
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 import java.io.*; import java.net.*; public class Serveur { public Serveur(int port) throws Exception{ ServerSocket s = new ServerSocket(port); Socket soc = s.accept(); // Un BufferedReader permet de lire par ligne. BufferedReader plec = new BufferedReader( new InputStreamReader(soc.getInputStream()) ); // Un PrintWriter possède toutes les opérations print classiques. // En mode auto-flush, le tampon est vidé (flush) à l'appel de println. PrintWriter pred = new PrintWriter( new BufferedWriter( new OutputStreamWriter(soc.getOutputStream())), true); while (true) { String str = plec.readLine(); // lecture du message if (str.equals("END")) break; System.out.println("ECHO = " + str); // trace locale pred.println(str); // renvoi d'un écho } plec.close(); pred.close(); soc.close(); } }
Le probléme est que mon client arrive bien a se connecter au premier port (8080), il recoit et envoie bien les données mais il n'arrive pas à se connecter au deuxiéme port (9090), on dirait qu'il peut s'y connecter mais aucune données transite.
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 public class main { public static Serveur serv1 = null; public static Serveur serv2 = null; public static void main(String[] args) { try { serv1 = new Serveur(8080); serv2 = new Serveur(9090); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
Voici le code de mon client :
Voilà, si quelqu'un aurait d'où le problème peut venir ce serait super .
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 import java.io.*; import java.net.*; public class Client { static final int port = 9090; public static void main(String[] args) throws Exception { Socket socket = new Socket("localhost", port); System.out.println("SOCKET = " + socket); BufferedReader plec = new BufferedReader( new InputStreamReader(socket.getInputStream()) ); PrintWriter pred = new PrintWriter( new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())), true); String str = "bonjour"; for (int i = 0; i < 10; i++) { pred.println(str); // envoi d'un message str = plec.readLine(); // lecture de l'écho } System.out.println("END"); // message de terminaison pred.println("END") ; plec.close(); pred.close(); socket.close(); } }
Merci d'avance.
++
Partager