Socket Exception: Write error exception
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:
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:
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:
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.