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 :
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 // 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);
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); } }
Partager