Salut,
Je débute la programmation de sockets en JAVA. J'ai 3 classes:
ServeurTCP.java
TraitementRequete.javaCode:
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 //package package_TCP; import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; import java.io.InputStream; import java.io.OutputStream; public class ServeurTCP { static int hostport = 8532; static public void initServeur(int port) { try { // Création de la socket : écoute sur l'une des @IP de la machine // 10 connexions max sont autorisées InetAddress loc=InetAddress.getLocalHost(); ServerSocket listen_socket=new ServerSocket(port,10,loc); // Boucle infinie d'interception des requêtes de connexion for(;;) { Socket socket=listen_socket.accept(); Thread thread= new TraitementRequete(socket); thread.start(); } } catch(Exception e) { System.err.println("Erreur: " + e); } } public static void main (String[] args) { // TODO Auto-generated method stub initServeur(hostport); } }
ClientTCP.javaCode:
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 //package package_TCP; //import java.io.InputStream; //import java.io.OutputStream; import java.io.*; import java.net.Socket; public class TraitementRequete extends Thread { Socket socket; public TraitementRequete(Socket socket) { this.socket = socket; } public void run() { try { BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintStream out = new PrintStream(socket.getOutputStream()); String message = in.readLine(); out.println(message); socket.close(); /* InputStream flux_entree=socket.getInputStream(); OutputStream flux_sortie = socket.getOutputStream(); */ // réception : flux_entree.read(byte[]) // envoi : flux_sortie.write(byte[]) } catch(Exception e) { System.err.println("Erreur: " + e); } } }
mais lorsque je lance l'exécution, j'obtiens cette erreurCode:
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
46
47
48
49 //package package_TCP; import java.net.InetAddress; import java.net.Socket; /* import java.io.InputStream; import java.io.OutputStream; */ import java.io.*; //import org.omg.CORBA.portable.InputStream; //import org.omg.CORBA.portable.OutputStream; public class ClientTCP { static int hostport = 8532; static String hostname; static public void connexionServeur(String hostname,int hostport) { try { // Récupération de l'adresse IP du serveur InetAddress svrAddr=InetAddress.getByName(hostname); // Création d'une socket TCP vers le port du serveur Socket socket=new Socket(svrAddr,hostport); // Récupération des flux d'entrée/sortie de la socket BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintStream out = new PrintStream(socket.getOutputStream()); //out.println(argv[1]); System.out.println(in.readLine()); /* OutputStream flux_sortie = socket.getOutputStream(); InputStream flux_entree = socket.getInputStream(); */ // envoi : flux_sortie.write(byte[]) // réception : flux_entree.read(byte[]) } catch(Exception e) { System.err.println("Erreur: " + e); } } public static void main(String[] args) { // TODO Auto-generated method stub //hostname = args[0]; hostname = "localhost"; connexionServeur(hostname,hostport); } }
je ne comprends pourquoi?Code:Erreur: java.net.ConnectException Connection refused Connect
Merci beaucoup d'avance pour votre aide.