Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1339 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Résolu] Pb de cast à partir d'un Object

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] Pb de cast à partir d'un Object

n°685587
HannibAlBu​ndie
Posté le 27-03-2004 à 13:53:00  profilanswer
 

Bonjour,
 
Donc, comme indiqué dans le titre, j'ai un ptit problème de cast :( .
 
Je vous explique ca plus en détails :
     [:k-surf] J'ai un client qui envoie à un serveur un objet de la classe UneMiniatureServeur et ce, par l'intermédiaire d'un ObjectOutputStream.
     [:k-surf] De son coté le serveur lit l'Object envoyé grâce à un ObjectInputStream, et jusqu'à là, pas de problème :ange: .
     [:k-surf] Par contre, au moment ou je souhaite faire 'caster' l'Object recu vers un objet de type UneMiniatureServeur et bah là ... il me renvoie une ClassCastException dans ma tronche :cry:. Et j'ai essayé la même opération en remplaçant les UneMiniatureServeur par des String tout bête, ça marche impec.
 
Code coté client :

Code :
  1. saSocketConnexion = new Socket( "127.0.0.1", 4000) ;
  2. sonFluxSortie = new ObjectOutputStream( saSocketConnexion.getOutputStream() );
  3. sonFluxEntree = new ObjectInputStream( saSocketConnexion.getInputStream() );
  4. UneMiniatureServeur laMiniature = telTableauMiniatures[leI] ;
  5. sonFluxSortie.writeObject(laMiniature) ;


 
Code coté serveur :

Code :
  1. sonFluxSortie = new ObjectOutputStream( saSocket.getOutputStream() );
  2. sonFluxEntree = new ObjectInputStream( saSocket.getInputStream() );
  3. Object lObjet = sonFluxEntree.readObject() ;
  4. UneMiniatureServeur laMiniature = (UneMiniatureServeur)lObjet ;


 
Ca plante donc au moment du cast, la dernière instruction du serveur.
 
 
voili voilou, si quelqu'un avait le temps et le courage de bien vouloir m'aider, ce serait bien sympathique :p  
 
merci d'avance :jap:


Message édité par HannibAlBundie le 28-03-2004 à 18:22:35
mood
Publicité
Posté le 27-03-2004 à 13:53:00  profilanswer
 

n°685639
Ernestor
modo-coco :o
Posté le 27-03-2004 à 17:22:17  profilanswer
 

J'ai eu des problèmes aussi avec les streams via des sockets. Par contre je me rappele plus dequels exactement mais je viens de jeter un oeil à mon code.
 
Et en gros, y a deux problèmes, deux bugs référencés :
 
- http://developer.java.sun.com/deve [...] 26188.html
- http://developer.java.sun.com/deve [...] 65324.html
 
Le premier précise qu'il faut récupérer le OutputStream avant le InputStream sur la socket. C'est ce que tu fais.
 
Le second, je sais plus exactement ce que c'est mais à cause de lui, dans mon code j'ai un  

Code :
  1. outputStream.reset();


placé systématiquement AVANT de faire un readObject() sur l'outputStream.
 
J'espère que ca pourra t'aider :)
 
Sinon, est-ce que t'as penser à afficher la classe de l'objet iObjet pour voir ce que tu récupérais ?
 
 


---------------
Idéaliste pragmatique gauchiste cherche camarades pour fonder un parti
n°685920
HannibAlBu​ndie
Posté le 28-03-2004 à 14:45:05  profilanswer
 

Non, malheureusement, ce n'est pas ce bug qui est en cause :( .
 
Par contre, ta réponse est quand même utile puisqu'elle répond au problème de etheriel (cf. ici).
 
Merci quand même pour ton aide :jap:  
 
Si quelqu'un à d'autres idées, qu'il n'hésite surtout pas à me les faire partager. Merci :hello:

n°685929
Ernestor
modo-coco :o
Posté le 28-03-2004 à 15:01:49  profilanswer
 

Bon, tant pis. Je vais lui proposer la solution alors (même si c'est un peu tard)
 
T'as affiché le type de l'objet que tu récupérais pour voir ce que ca donne ?
 
 
Avec un truc du style :  
 

Code :
  1. System.out.println(lObjet.getClass().getName());



---------------
Idéaliste pragmatique gauchiste cherche camarades pour fonder un parti
n°686038
HannibAlBu​ndie
Posté le 28-03-2004 à 18:21:43  profilanswer
 

Non bah en fait c'était un conflit bizarre avec une autre partie du programme :sweat:.
 
après moult triturage le cast a donc finit par marcher :p.
 
désoler de t'avoir embetté pour un truc auquel tu ne pouvais pas trouver de solution :pfff:.
 
en tout cas, merci quand meme de ton intéret :jap:.

n°686040
Ernestor
modo-coco :o
Posté le 28-03-2004 à 18:24:01  profilanswer
 

Y a pas de mal :)
 
En tout cas c'est bien que ca marche :)


---------------
Idéaliste pragmatique gauchiste cherche camarades pour fonder un parti

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Résolu] Pb de cast à partir d'un Object

 

Sujets relatifs
Comment avoir les menu de Jbuilder en frtançais [résolu]Python : "KeyError: u'\xe9'". [Résolu .encode("iso-8859-1")]
[RESOLU][VB6] Lire un fichier texte[RESOLU] [VB6] Cherche guide du développeur
[Resolu]erreur de base avec une stringstreamdeterminer la taille d'un fichier [résolu]
[RESOLU][ORACLE] Gestion des nouvelles valeurs à insérer[MySQL] comment faire : DELETE FROM table1,table2 WHERE id=2 [résolu]
afficher une video a partir d'un streamExecution d'un fichier .exe a partir du c++
Plus de sujets relatifs à : [Résolu] Pb de cast à partir d'un Object


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR