Bonjour,
j'ai ecrit un code qui permet de generer des communications client/serveur en utilisant les sockets en java,et en ecrivant
des "writeObject" dans le "if" ça declenche cette exception; le code marchait sans le if:
voila le code C1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Exception in thread "main" java.net.SocketException: Connection reset by peer: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(Unknown Source) at java.net.SocketOutputStream.write(Unknown Source) at java.io.ObjectOutputStream$BlockDataOutputStream.drain(Unknown Source) at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(Unknown Source) at java.io.ObjectOutputStream.writeNonProxyDesc(Unknown Source) at java.io.ObjectOutputStream.writeClassDesc(Unknown Source) at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) at java.io.ObjectOutputStream.writeObject0(Unknown Source) at java.io.ObjectOutputStream.writeFatalException(Unknown Source) at java.io.ObjectOutputStream.writeObject(Unknown Source) at Tp02.C1.main(C1.java:28)
le code c2
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 public class C1 { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub Socket s=new Socket("localhost",15); Scanner e=new Scanner(System.in); ObjectOutputStream o1=new ObjectOutputStream(s.getOutputStream()); System.out.println("entrer un entier entre o et 2"); int n =e.nextInt(); if(n==0){ String nombre=Integer.toString(n); o1.writeObject(nombre); System.out.println("entrer un maticule"); String mat=e.next(); ObjectOutputStream o=new ObjectOutputStream(s.getOutputStream()); o.writeObject(mat); System.out.println("entrer un nom"); String nom=e.next(); o.writeObject(nom); System.out.println("entrer un prenom"); String prenom=e.next(); o.writeObject(prenom); } }
Merci pour toute intervention.
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 public class C2 { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub ServerSocket s=new ServerSocket(15); Socket con=s.accept(); ObjectInputStream in=new ObjectInputStream(con.getInputStream()); String mat=(String) in.readObject(); System.out.println(mat); String nom=(String) in.readObject(); System.out.println(nom); String prenom=(String) in.readObject(); System.out.println(prenom); } }
Partager