Probleme Buffer ??

Probleme Buffer ?? - C#/.NET managed - Programmation

Marsh Posté le 01-04-2005 à 15:11:03    

Bonjour, je voudrais savoir s'il est poszsible de programmer un buffer de telle sorte qu'il prenne la valeur de ce dont on veut envoyer...
En gros, si je veux envoyer un fichier de taille X, je voudrais que mon buffer prenne la valeur de X. SI je veux envoyer un fichier de 10Ko, alors je voudrais que le buffer ait pour valeur 10000...
 
Mon code actuel est:
 
 

Code :
  1. Public buffer(10000) as byte


 
Mais avec ca je ne peux pas envoyer un fichier de plus de 10KO.... et moi je voudrais envoyer un fichier de n'importe quelle taille....
Mais:

Code :
  1. Public buffer() as byte


 
... ne marche pas
 
Merci

Reply

Marsh Posté le 01-04-2005 à 15:11:03   

Reply

Marsh Posté le 01-04-2005 à 15:34:50    

tu récupères la taille de ton fichier, et tu alloues dynamiquement un buffer égal à la taille de ce fichier


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 01-04-2005 à 17:30:26    

J'ai pas tres bien compris....
Voila deja ce que j'ai fait :

Code :
  1. Imports System
  2. Imports System.IO
  3. Public Class EnvoyerFichier
  4.     Private Const FILE_NAME As String = "C:\marie.jpg"
  5.     Public Function test()
  6.         Dim fs = New FileStream(FILE_NAME, FileMode.Open, FileAccess.Read)
  7.         Dim r As New BinaryReader(fs)
  8.         Dim bufferRead() As Byte
  9.         bufferRead = r.ReadBytes(CType(fs.Length, Integer))
  10.         Return bufferRead
  11.         fs.close()
  12.         r.Close()
  13.     End Function


Ca c'est ma fonction pour lire le fichier à envoyer...
 
Ensuite du coté client justement je sais pas comment le decoder
 

Code :
  1. Public Sub tested(ByVal bufferFichier As Byte())
  2.         Dim fs As New FileStream("C:\florent.jpg", FileMode.CreateNew, FileAccess.Write)
  3.         Dim w As New BinaryWriter(fs)
  4.         w.Write(bufferFichier)
  5.         w.Close()
  6.         fs.Close()
  7.     End Sub


Voila ce que j'ai fait mais ca marche pas ...
J'appelle la procedure avec :  
 

Code :
  1. Dim bytesRead As Integer = sckclient.EndReceive(asyncResult)
  2.                Dim MesReceive As String = Encoding.UTF8.GetString(bufferRead)
  3.                Dim BufferFichier() As Byte = System.Text.Encoding.Default.GetBytes(MesReceive)
  4.                Call envoie.tested(BufferFichier)


 
Avec ca, mon fichier est créer mais l'image n'apparait pas. De plus la taille de l'image a legerement diminuer.
 
Merci beaucoup


Message édité par fdiedler le 03-04-2005 à 22:27:03
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed