Connection reset by peer: socket write error
Bonjour,
J'essaye d'accéder à mysql pour supprimer des données à partir d'unn programme java. La suppression marche mais ça déclenche cette exception : Connection reset by peer: socket write error. Je ne comprends pas le problème. Veuillez m'aider s'il vous plait.
Voici mon code :
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| package Tp02;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
public class C1 {
static ObjectOutputStream o;
static ObjectInputStream i1;
static Socket s;
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
s=new Socket("localhost",15);
while(true){
Scanner e=new Scanner(System.in);
o=new ObjectOutputStream(s.getOutputStream());
System.out.println("entrer un entier entre 0 et 2");
int n=e.nextInt();
o.writeObject(Integer.toString(n));
switch(n){
case 0:System.out.println("insertion d'un etudiant");System.out.println("entrer un matricule");
String mat1=e.next();
o.writeObject(mat1);
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);
i1=new ObjectInputStream(s.getInputStream());
String res_insert=(String) i1.readObject();
System.out.println(res_insert);
break;
case 1 :
System.out.println("suppression d'un etudiant");
System.out.println("entrer un matricule");
String matricule=e.next();
ObjectOutputStream o1=new ObjectOutputStream(s.getOutputStream());
o1.writeObject(matricule);
ObjectInputStream inp=new ObjectInputStream(s.getInputStream());
String res_supp=(String) inp.readObject();
int nb=Integer.parseInt(res_supp);
if(nb>0) System.out.println("suppression effectuée");
else System.out.println("suppression echouée");
//System.out.println(res_supp);
break;
case 2:
System.out.println("affichage des informations d'un etudiant");
System.out.println("entrer un matricule");
String matri=e.next();
ObjectOutputStream o2=new ObjectOutputStream(s.getOutputStream());
o2.writeObject(matri);
ObjectInputStream i2=new ObjectInputStream(s.getInputStream());
String l=(String) i2.readObject();
//for(int k=0;k<l.length();k++)
System.out.println(l.toString());
}
}
}
} |
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
package Tp02;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.util.LinkedList;
import tp2.RmiP3;
public class C2{
static Registry reg;
static int port=15,port1=20;
static String adr="localhost";
static ServerSocket s;
static Socket con;
static I3 rm;
static ObjectOutputStream o,out5,out1;
static ObjectInputStream i;
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
s=new ServerSocket(port);
con=s.accept();
while(true){
i=new ObjectInputStream(con.getInputStream());
reg=LocateRegistry.getRegistry(adr,port1);
rm=(I3) reg.lookup("r3");
String nombre=(String) i.readObject();
int nb=Integer.parseInt(nombre);
//ObjectInputStream i=new ObjectInputStream(con.getInputStream());
switch(nb){
case 0:
String matricule=(String) i.readObject();
String nom=(String) i.readObject();
String prenom=(String) i.readObject();
int etat=rm.inserer(matricule, nom, prenom);
if(etat==1)
{
String res_insert = "insertion effectuée";
o=new ObjectOutputStream(con.getOutputStream());
o.writeObject(res_insert);
}
else {
String res_insert = "insertion echouée";
o=new ObjectOutputStream(con.getOutputStream());
o.writeObject(res_insert);
}
break;
case 1 :
try{
ObjectInputStream in=new ObjectInputStream(con.getInputStream());
String mat=(String) in.readObject();
int etat_delete=rm.supprimer(mat);
System.out.println(etat_delete);
ObjectOutputStream p=new ObjectOutputStream(con.getOutputStream());
String res_delete=Integer.toString(etat_delete);
p.writeObject(res_delete);
p.flush();
/* if(etat_delete>0){
String res_supp = "suppression effectuée";
// System.out.println(con.toString());
out5=new ObjectOutputStream(con.getOutputStream());
//System.out.println(res_supp);
out5.writeObject(res_supp);
}
else {
String res_supp = "suppression echouée";
out1.writeObject(res_supp);
}*/
}
catch(Exception e){
System.out.println(e.getMessage());
}
break;
case 2 :
LinkedList l=new LinkedList();
ObjectInputStream i2=new ObjectInputStream(con.getInputStream());
String matri=(String) i2.readObject();
l=rm.afficher(matri);
out1=new ObjectOutputStream(con.getOutputStream());
out1.writeObject(l.toString());
for(int j=0;j<l.size();j++){
out1.writeObject(l.get(j));
}
}
}
}
} |
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
package Tp02;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.LinkedList;
import RMI.ServRmi;
public class C3 extends java.rmi.server.UnicastRemoteObject implements I3 {
static int etat,etat_delete,port=20;
static Registry reg;
public C3()throws RemoteException{
}
public int inserer(String matricule,String nom,String prenom) throws Exception,SQLException{
String ch;
String url="jdbc:mysql://localhost:3306/";
String user="";
String pwd="";
String db="";
java.sql.Connection con;
String driver="com.mysql.jdbc.Driver";
Class.forName(driver).newInstance();
con=DriverManager.getConnection(url+db, user, pwd);
//con.setAutoCommit(false);
//System.out.println("connection etablie");
//Statement t=con.createStatement();
String query="INSERT INTO `etudiant` (`matricule`, `nom`, `prenom`) VALUES (?,?,?)";
PreparedStatement t=con.prepareStatement(query);
t.setString(1,matricule);
t.setString(2,nom);
t.setString(3,prenom);
int etat=t.executeUpdate();
//con.commit();
//con.setAutoCommit(true);
return etat;
//
}
public int supprimer(String matri) throws Exception{
String url="jdbc:mysql://localhost:3306/";
String user="";
String pwd="";
String db="";
java.sql.Connection con;
String driver="com.mysql.jdbc.Driver";
Class.forName(driver).newInstance();
con=DriverManager.getConnection(url+db, user, pwd);
//System.out.println("connection etablie");
//Statement t=con.createStatement();
String query="delete from `etudiant` where matricule=?;";
PreparedStatement p=con.prepareStatement(query);
p.setString(1, matri);
etat_delete=p.executeUpdate();
//con.commit();
return etat_delete;
}
public LinkedList afficher(String matricule) throws Exception{
String url="jdbc:mysql://localhost:3306/";
String user="";
String pwd="";
String db="";
java.sql.Connection con;
String driver="com.mysql.jdbc.Driver";
Class.forName(driver).newInstance();
con=DriverManager.getConnection(url+db, user, pwd);
//Statement s=con.createStatement();
String query="SELECT nom,prenom FROM `etudiant` WHERE matricule=?;";
PreparedStatement p=con.prepareStatement(query);
p.setString(1, matricule);
ResultSet rs;
rs=p.executeQuery();
LinkedList tab=new LinkedList();
while(rs.next()){
String resultat="nom de l'etudiant est: "+rs.getString("nom")+","+"Son prenom est: "+rs.getString("prenom")+"\n";
tab.add(resultat);
}
return tab;
//System.out.println("connection etablie");
}
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
C3 c=new C3();
reg=LocateRegistry.createRegistry(port);
System.out.println("registre crée");
reg.rebind("r3", c);
}
} |