IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entr�e/Sortie Java Discussion :

Socket Exception: Write error exception


Sujet :

Entr�e/Sortie Java

  1. #1
    Membre averti
    Femme Profil pro
    Administrateur de base de donn�es
    Inscrit en
    Ao�t 2016
    Messages
    22
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activit� : Administrateur de base de donn�es
    Secteur : High Tech - Mat�riel informatique

    Informations forums :
    Inscription : Ao�t 2016
    Messages : 22
    Par d�faut 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 : 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.

  2. #2
    Membre Expert
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 097
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 097
    Par d�faut
    Deux petites choses :

    Peux-tu pr�ciser � quelle ligne, dans le code que tu as copi� dans ton post correspond la ligne 28 de la classe C1 indiqu�e dans ton message d'erreur (mets la en rouge par exemple) ?

    As-tu essay� d'ajouter un flush() derri�re chacun de tes writeObjetct ?

    Quoi qu'il en soit, brut de fonderie, la premi�re ligne de ton message d'erreur indique que C1 � voulu �crire dans un socket qui a �t� d�connect� par C2.
    Je ne sais pas si ce code est purement didactique, mais pour �crire des valeurs num�rique et/ou du texte, il n'y a pas besoin d'exploiter les flux d'objet. En fait, il suffit de bien lire la documentation de l'API Java sur la classe Socket, c'est tr�s complet et clair.
    Une technologie n'est r�calcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie r�calcitrante, n'h�sitez surtout pas � visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du d�butant au pro : https://java.developpez.com/cours/
    Tout sur les r�seaux : https://reseau.developpez.com/cours/
    Tout sur les syst�mes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le mat�riel : https://hardware.developpez.com/cours/

  3. #3
    Membre averti
    Femme Profil pro
    Administrateur de base de donn�es
    Inscrit en
    Ao�t 2016
    Messages
    22
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activit� : Administrateur de base de donn�es
    Secteur : High Tech - Mat�riel informatique

    Informations forums :
    Inscription : Ao�t 2016
    Messages : 22
    Par d�faut
    Bonjour,

    J'ai pu r�soudre le probl�me, effectivement il y avait un problme entre connection et deconnection;
    donc j'ai mal structure write object et read object.

    Merci.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 1
    Dernier message: 15/04/2014, 22h56
  2. [Jena] Exception InInitializer Error
    Par may.sou dans le forum Frameworks
    R�ponses: 2
    Dernier message: 08/06/2012, 00h12
  3. application error "exception edatabaseerror"
    Par ferrero_100 dans le forum D�buter
    R�ponses: 9
    Dernier message: 05/04/2011, 17h03
  4. gestion des exceptions via <error-page>
    Par mrjeronimo dans le forum Servlets/JSP
    R�ponses: 3
    Dernier message: 16/08/2010, 13h26
  5. R�ponses: 4
    Dernier message: 15/04/2010, 14h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo