Bonjour, j'ai un problème lors de l'envoie d'un objet sérialisé à un serveur. J'ai essayé de chercher sur le net j'ai pas pu identifié la source de mon erreur. En fait, j'ai un objet "IdentificationClient" que je voudrais l'envoyer à un serveur.
Voilà le code que j'ai fait pour la partie client :
Dans la partie serveur je souhaite récupérer l'objet pour effectuer des traitements :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 fluxClient = client.GetStream();// client de type TCPClient if (fluxClient.CanWrite) { MemoryStream ms = new MemoryStream(); IFormatter bf = new BinaryFormatter(); bf.Serialize(ms, IdentificationClient);//Objet à sérialiser byte[] writerbuffer = ms.GetBuffer(); ms.Close(); fluxClient.Write(writerbuffer, 0, writerbuffer.Length); fluxClient.Close(); }
J'espère que vous pouvez m'aider.
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 NetworkStream fluxClient = serviceClient.GetStream(); if (fluxClient.CanRead) { byte[] data = new byte[serviceClient.ReceiveBufferSize]; MemoryStream ms2 = new MemoryStream(data); fluxClient.Read(data, 0, (int)serviceClient.ReceiveBufferSize); IFormatter formatter = new BinaryFormatter(); IdentificationClient p = (IdentificationClient)formatter.Deserialize(ms2); // you have to cast the deserialized object fluxClient.Close(); //client.Close(); //server.Stop(); String loginUser = p.LoginClient;//renvoie le login MessageBox.Show(loginUser); }
Partager