Socket - send - data [Résolu]

Signaler
Messages postés
2
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
11 octobre 2006
-
Messages postés
2
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
11 octobre 2006
-
Bonjour,


Je suis relativement nouveau dans le monde du .net et plus particulière en C#.
J'ai un petit problème de conception et j'espère que vous pourrez me donner un
petit coup de pousse (idées) pour aborder ce problème... surement très simple
pour vous .


Je développe une application client/serveur. Les fonctionnalités de bases ont
été testées (Socket, mutli thread, multi client, etc) et tout ceci en monde
console. J'ai testé le transfert de donnée d'un client à un autre et ça
fonctionne très bien avec un string. Maintenant j'aimerai envoyé des données
plus conséquentes (résultat d'une requête sur une DB ).


J'aimreai utiliser la méthode send de mon socket (monSocket.send()). Après
avoir parcouru le forum ainsi que le web il me manque un élément. La
sérialisation..... J'ai pensé utiliser l'XMLserializer mais je ne trouve que
des exemples dont le flux (stream) est extrait de fichiers. Moi je n'ai qu'une
structure de donnée (arrayList) que j'aimerai Serializer et envoyer par la
méthode send... Suis-j à côté de la plaque ? Je me demande si je ne complique
pas un peu la chose...



public void envoiDesDonnees(String dbData)
        {
            byte[] bufferEnvoi = System.Text.Encoding.ASCII.GetBytes(dbData);

            try
            {
                clientSocket.Send(bufferEnvoi,0,bufferEnvoi.Length,SocketFlags.None);
            }
            catch(Exception e)
            {
                Console.WriteLine(e.TargetSite.ToString() + " :\n " + e.Message.ToString());
            }
Ma fonction actuelle qui fonctionne parfaitement pour un string.

Merci!

Adrian

1 réponse

Messages postés
2
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
11 octobre 2006

Suite à mon post, j'ai eu un flash Je n'avais pas saisi une chose... Mon problème venait  tout simplement d'un blockage sur le stream  ouvert sur un  fichier, j'ai découver le MemoryStream... et je suis parti ensuite sur BinaryFormatter pour avoir mon flux d'ocktet.

Comme quoi, mettre son problème sur "papier" aide aussi

Adrian