cs_Oberon
Messages postés1Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention24 février 2003
-
24 févr. 2003 à 16:05
bucherb
Messages postés412Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention13 août 2007
-
29 oct. 2003 à 16:36
J'aurais voulu sérialisé un objet en passant par un networkStream mais je bute sur un problème de casting...
Coté serveur:
BinaryFormatter formatter = new BinaryFormatter();
NetworkStream ns;
Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream,ProtocolType.Tcp);
string nom= Dns.GetHostName();
IPHostEntry he = Dns.GetHostByName(nom);
IPAddress[] tipa = he.AddressList;
sock.Bind(new IPEndPoint(tipa[0],1983));
sock.Listen(10);
Socket sockClient = sock.Accept();
ns = new NetworkStream(sockClient);
produit medic = (produit)formatter.Deserialize(ns);
---> c'est ici que j'ai un invalidCastException...
Côté client:
sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream,ProtocolType.Tcp);
sock.Connect(new IPEndPoint(IPAddress.Parse("10.59.5.117"),1983));
NetworkStream ns = new NetworkStream(sock);
BinaryFormatter formatter = new BinaryFormatter();
// instantiation de l'objet qui va être serialisé
produit med = new produit(medic,quantite,urgence);
formatter.Serialize(ns,medic);
produit est identique dans le projet client et le projet serveur... J'ai également essayé avec un tcpClient au lieu des sockets mais le résultat est identique...
bucherb
Messages postés412Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention13 août 2007 29 oct. 2003 à 16:36
Est-ce que ton client et ton serveur on la m'eme référence vers ton objet? Si ce n'est pas le cas je te conseil de faire:
- Un projet pour le serveur
- Un projet pour le client
- Un projet pour ton objet produit à sérialiser
Et tu pointe une référence sur produit depuis ton serveur et ton client. Comme ça tu es sûr qu'ils ont la même chose.
-------------------------
Trambert le vert
MCP SQL2000, C# .NET, ASP .NET