C# Probleme Serialization

Signaler
Messages postés
23
Date d'inscription
lundi 10 mai 2004
Statut
Membre
Dernière intervention
27 octobre 2006
-
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007
-
Bonjour à tous.
Je désire faire passé en réseau un tableau de string. Pour cela j'utilise la sérialization mais je ne sais pas comment faire passer mon objet BinaryFormatter dans la méthode send car je n'arrive pas à le convertir en byte j'ai essayé en le convertissant avec sa methode toString cela marche mais à ma deserialization je n'obtient rien.
Si quelqu'un savait comment faire.
Merci d'avance.

3 réponses

Messages postés
18
Date d'inscription
jeudi 8 avril 2004
Statut
Membre
Dernière intervention
28 octobre 2005

A mon avis ton problème n'est pas de désérializer le contenu mais de le récupérer, un ToString() ne suffit pas, il te faut plutot quelque chose du genre :


byte[] buffer =
new
byte[
256];
StringBuilder stb =
new StringBuilder();

while(xtw.BaseStream.Read(buffer,
0,
256) !=
0)
{

int i =
0;

while(i<buffer.Length && buffer[i] !=
0)
{
stb.Append(buffer[i++]);
}
}

return stb.ToString();

ici, la variable xtw est un XmlTextWriter mais le principe reste le même...
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
faire une boucle sur ton tableau de string, extrait ainsi chaque chaine
et envoi t'es chaine une par une en rajoutant \n à l'arrivé tu recupera
ca soit sur une chaine unique soit en recontruisant un tableau.
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007

Tu peux très bien te servir de ton binaryserializer, mais c'est pas lui que tu dois passer dans ton send... Le serializer te retourne un tableau de bytes et c'est ce tableau que tu envoie.

Et de l'autre côté tu déserialize le tableau de byte que tu recois

-------------------------
Trambert le vert