Bonjour tout le monde alors voila je suis nouveaux sur ce forum est voici mon problème qui me tracasse depuis deux jour j'essaie d'envoyer des fichiers via le socket tcp masi le problem c'est que le ficher n'arrive pas complètement je ne comprends pas pourquoi j'ai aussi remarqué que la taille du fichier est recu est toujours de 293 ko ... 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
 
  // ici j'envoie une demamnde  au server pour dire qui'l va recoivr un fihier bientot
                Connection.send_command(Commands.update_request);
                 // ptit pause
                Thread.Sleep(80);
 
                byte[] FileBytes;
                    //lecture du fichier a envoyer et le metter dans une variable type bytes array 
                using (FileStream FS = new FileStream(ofg.FileName, FileMode.Open))
                {
                    FileBytes = new byte[FS.Length];
                    FS.Read(FileBytes, 0, FileBytes.Length);
                }
                    // envoyer le tout vers le server 
             Connection.targetClient.Send(FileBytes);
Ensuite côté serveur :
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
34
35
 
 
     private void receiveInfo()
        {
            // ceci est la method qui traite les donnes recue
 
            byte[] buffer = new byte[300000];
            int received = 0;
 
            try
            {
                received = Connection.clientSocket.Receive(buffer);
            }
            catch (SocketException)
            {
                Connection.clientSocket.Close();
                Connection.clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                Connection.makeConnection();
            }
 
            if (received == 0)
                return;
 
            byte[] data = new byte[received];
            Array.Copy(buffer, data, received);
 
            if (update.isupdate == true)
            {
                // ecriture des données recu vers un ficher dans le dossier temp..
                File.WriteAllBytes(Path.GetTempPath() + "\\test01.txt", data);
                update.isupdate = false;
                // update.process_update(data);
            }
 
        }
Nom : Capture.PNG
Affichages : 170
Taille : 339,5 Ko