Bonjour à tous,
j'ai un petit souci de mémoire dans un mes programmes.
En je fait un readAllBytes sur un fichier et j'envoie par socket. Du coup la consommation mémoire du programme augmente, jusque la pas de souci cependant en quittant la méthode la mémoire n'est pas libérer comme cela se fait ??
Voici mon code :
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 private void Download(String Destinataire, String Commande, Byte[] Ele) { try { String name = System.Text.Encoding.Unicode.GetString(Ele); name = name.Substring(0, name.Length - 1); Byte[] tab = System.IO.File.ReadAllBytes(name); Int32 size = tab.Length; Int32 i = 0; Byte[] tosend = null; FileInfo f = new FileInfo(name); Byte[] tmp = System.Text.Encoding.ASCII.GetBytes(f.Name); Byte[] zero = System.Text.Encoding.ASCII.GetBytes("\0"); long s = f.Length; Byte[] siz = System.Text.Encoding.ASCII.GetBytes(Convert.ToString(s) + "\0"); while (i < size) { if (i + 65536 <= size) tosend = Packet.SubByte(tab, i, i + 65536); else tosend = Packet.SubByte(tab, i, size); tosend = Packet.Copy(zero, tosend); tosend = Packet.Copy(tmp, tosend); tosend = Packet.Copy(siz, tosend); Byte[] packet = Packet.BuildPacket(Destinataire, Commande, tosend); this.PushSend(packet); i += 65536; } } catch (Exception) { } }
Merci d'avance !






Répondre avec citation



Pas de questions techniques par MP ! Le forum est là pour ça...




) de ne pas avoir de référence vers une fenêtre WPF pour que le GC passe (dans plus ou moins longtemps).

Partager