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

  FORUM HardWare.fr
  Programmation
  C++

  serialisation d'un objet

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

serialisation d'un objet

n°2073448
in_your_ph​ion
Posté le 03-05-2011 à 10:36:09  profilanswer
 

bonjour,
 
J'aimerais connaitre l'intérêt de sérialiser un objet. Pourquoi ne peut on juste pas écrire l'objet tel quel sur une socket ? Par exemple :
 

Code :
  1. socket.write( (char*)(&monObjet), sizeof(monObjet) );


 
et ensuite relire de l'autre côté, et faire un cast pour récupérer l'objet.  
 
Pourquoi devoir sérialiser ?
 
merci par avance

mood
Publicité
Posté le 03-05-2011 à 10:36:09  profilanswer
 

n°2073460
shaoyin
Posté le 03-05-2011 à 11:11:52  profilanswer
 

Pour une question de portabilité, déjà : si la machine émettrice et la machine réceptrice ne fonctionnent pas selon le même endianness, tu risques d'avoir des surprises.
Gérer la sérialisation / désérialisation d'un objet permet de traiter cet aspect.
 
Suppose aussi que ton objet comporte un membre de type pointeur... Ça fera une belle jambe à la machine réceptrice de savoir qu'une partie du contenu de l'objet est à l'adresse X sur la machine émettrice !

n°2073541
in_your_ph​ion
Posté le 03-05-2011 à 16:30:14  profilanswer
 

hello,
 
Merci pour ta réponse! En supposant qu'il n'y ait pas de pointeur et qu'on sache l'endianess, ça ne poserait donc pas de problème alors ?
 
Par exemple passer une structure avec juste des tableaux de char et des entiers, etc.

n°2073555
gilou
Modérateur
Modzilla
Posté le 03-05-2011 à 17:03:01  profilanswer
 

Pourquoi faire bien quand on peut faire buggé, c'est ça?
Prends les bonnes habitudes, écris du code qui marchera quelles que soient les circonstances.
Les trucs mal écrits, parce que ça pose pas de problème, ça finit toujours par en poser, loi de Murphy rulez.
A+,

Message cité 1 fois
Message édité par gilou le 03-05-2011 à 17:03:21

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2073556
shaoyin
Posté le 03-05-2011 à 17:07:02  profilanswer
 

+1
Je ne garantis pas d'avoir listé tous les problèmes. En particulier, je n'ai pas parlé de l'alignement en mémoire, mais je pense que c'est aussi un souci potentiel.
 
Sérialiser/désérialiser un objet, cela revient à convenir d'un format d'échange de cet objet. Après, que tu l'écrives dans un fichier ou que tu l'envoies sur le réseau, c'est une autre affaire.
Cela t'assures en tout cas de pouvoir récupérer de manière sûre ton objet à l'arrivée. Passer du temps à la conception de ce format d'échange n'est pas du temps perdu.

n°2073562
Joel F
Real men use unique_ptr
Posté le 03-05-2011 à 17:15:54  profilanswer
 

cf Boost.Serialization qui gere ca deja de tete

n°2073579
in_your_ph​ion
Posté le 03-05-2011 à 17:43:03  profilanswer
 

gilou a écrit :

Pourquoi faire bien quand on peut faire buggé, c'est ça?


 
en fait, c'est quelque chose que j'ai lu dans du code existant donc j'imagine que sous certaines conditions ça doit pouvoir se faire
 
merci pour vos réponses en tout cas!

n°2073667
ITM
Avatar peint à la main
Posté le 04-05-2011 à 00:14:59  profilanswer
 

J'aime bien utiliser protocol buffers pour ce genre de problèmes -> http://code.google.com/intl/fr-FR/ [...] olbuffers/  
Tu définis ton protocole d'abord, et ensuite tu récupères son implémentation en C++ (ou java, etc.)


---------------
iteme.free.fr | Mon feedback

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

  serialisation d'un objet

 

Sujets relatifs
Script vbs déployer par automate : objet WMI inaccessibleObjet WMI inaccessible : de quoi vient cette erreur ?
VBA Excel 2007 Problème de variable objet. Erreur 91utilisation de sous fonction dans un objet et appel de methode dedans
[JavaScript]IE9 : blocage lors de l'héritage par proto d'un objet DOMjs/jquery : lancer une action différente au second click sur un objet
[php] besoin d'aide pour optimiser connexion sql en objet [résolu]Problème copie d'objet et serialisation
Sérialisation d'objet SWTProbleme de serialisation d'objet
Plus de sujets relatifs à : serialisation d'un objet


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