bonjour
j'ai un problème avec le transfert d'une image a partir de client vers le service WCF.
l'objective de l'application et faire un chat pour 2 client avec le WCF.
j'ai réussie d'envoyer des messages , quand je veux envoyer des images le programme de plante complètement.
je récupère l'image a partir de PictureBox et je la convertis vers un tableau de byte avec MemoryStream
une variable qui reçoit le tableau de byte et je fais appel au service
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public byte[] retrunimage(System.Drawing.Image image) { MemoryStream ms = new MemoryStream(); image.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg); return ms.ToArray(); }
et voici le contrat de service
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 byte[] t=nul; chat.EnvoyerImage(pseudoutil, t=retrunimage(image));
et la redéfinition de contrat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 [OperationContract(IsInitiating = false, IsTerminating = false, IsOneWay = true)] void EnvoyerImage(string pseudo,byte[] image);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public void EnvoyerImage(string pseudo,byte[] image) { Receptionimageevenarg reimage = new Receptionimageevenarg(); reimage.Utilisateur=pseudo; Receptionimageeven(this,reimage); if (image == null) Console.WriteLine("pas d'image "); else Console.WriteLine("l'utilisateur {0} a envoyer une image ",pseudo); }
quand je compile le programme il ne m'affiche pas des erreurs mais le temps de essayer l'envoyer d'une image le programme de plante et un message apparais dans Visual studio :
The socket connection was aborted. This could be caused by an error processing your message or a receive
timeout being exceeded by the remote host, or an underlying network resource issue.
Local socket timeout was '00:00:59.9799988'
Partager