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:

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)
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
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);
	}
	}
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
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);
 
	}
 
}
Merci pour toute intervention.