Bonjours
Mon programme envoye une image sous forme de Byte[] à travers un socket (TcpClient).
Mon serveur reçoit le début de l'image exactement comme il a été envoyé mais la fin en rempli de caractère null
Je fais comme suit (en gros) :
L'erreur dit "Paramètre invalide" puisque la fin du fichier est corrompu.
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
16
17
18 // -------------- // code client // -------------- m_memoryStream = new MemoryStream(); Bitmap ecran = (...); ecran.Save(m_memoryStream, System.Drawing.Imaging.ImageFormat.Gif); // m_stream est le stream d'un TcpClient m_stream.Write(m_memoryStream.ToArray(), 0, m_memoryStream.Length); // -------------- // code serveur // -------------- Byte[] m_contenuCourant = Byte[...]; //m_stream est le stream d'un TcpListener m_stream.Read(m_contenuCourant, 0, m_contenuCourant.Length) MemoryStream ms = new MemoryStream(m_contenuCourant); Bitmap bm = new Bitmap(ms); // Erreur ici
Il est possible de passer de Bitmap > MemoryStream > Bitmap. Sur le même projet, ça fonctionne bien. J'ai des soucis lors de l'envoye par socket.
Quelqu'un a déjà vu ce problème avant ?
Merci beaucoup
Partager