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
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();
        }
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
 
 byte[] t=nul;
 chat.EnvoyerImage(pseudoutil, t=retrunimage(image));
et voici le contrat de service

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);
et la redéfinition de contrat

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'