Bonjour,
Je m'essaie aux sockets en Java. j'ai Créé un serveur qui affiche la chaine envoyée par le client.
Serveur :
Je vous passe les catch.
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
46
47 public class Serveur implements Runnable{ private ServerSocket sock; private ObjectOutputStream output; private ObjectInputStream input; private boolean listening = true; private Socket connection; private String message; public Serveur() { try { sock = new ServerSocket(47489); System.out.println("> SERVER : Le serveur attend les connections..." ); } catch (IOException e){ System.out.println("Erreur ouverture socket"+e.getMessage()); } this.run(); } public static void main(String args[]) { Serveur serv = new Serveur(); } public void run() { try { connection = sock.accept(); System.out.println("Serveur >> socket = "+connection); output=new ObjectOutputStream(connection.getOutputStream()); input=new ObjectInputStream(connection.getInputStream()); // On répond que la connection est établie. output.writeObject("SERVER >>> connection successfull" ); /* LECTURE DU MESSAGE */ message = (String)input.readObject(); System.out.println("> SERVER : message recu = "+message); }
Client :
Et donc à chaque fois, l'exception IOException est levée, avec comme message "Connection reset". J'ai bien cherché mais rien trouvé...
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 public Client() { try { sock = new Socket( "localhost", 47489); System.out.println("SOCKET = " + sock); if (sock==null) System.out.println("Socket à null"); else System.out.println("Client >> Socket ouvert"); in = new ObjectInputStream(sock.getInputStream()); out = new ObjectOutputStream(sock.getOutputStream()); } catch(IOException ioe) { System.out.println("Erreur d'ouverture Socket"); } } public void envoi(String message) throws IOException { System.out.println("Client >> envoi de "+message); out.writeUTF(message) ; } public static void main(String args[]) { Client cli = new Client(); try { cli.envoi("Salut");
Pas un problème de firewall ou autre, car avec les BufferedReader ça marche... Help !
Merci d'avance
Partager