Bonjour à tous,
Je débute avec les sockets et j'essai de développer une petite appli client / serveur. Actuellement j'essai d'envoyé un fichier (côté serveur) pour le récupérer chez le client. Pour envoyer j'utilise Networkstream.Write() dans une boucle. Ca passe bien au début ensuite ça se bloque. Quelqu'un saurait-il pourquoi ???
merci
Voilà la méthode qui permet d'envoyer le fichier :
J'ai oublié de préciser que si j'essai d'envoyer un fichier moins lourd ça passe. (143ko ne passe pas; 27ko ça passe)
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 NetworkStream netStream = new NetworkStream(_socketToWriteOn, true); FileInfo file = new FileInfo(chemin + filename); FileStream fs = File.OpenRead(file.FullName); try { byte[] buffer = new byte[4096]; int envoye = fs.Read(buffer, 0, buffer.Length); while (envoye != 0) { //Bloque ici après quelques passages dans la boucle netStream.Write(buffer, 0, envoye); envoye = fs.Read(buffer, 0, buffer.Length); } } catch (Exception ex) { throw ex; } finally { fs.Close(); netStream.Close(); //_socketToWriteOn.Shutdown(SocketShutdown.Send); //_socketToWriteOn.Close(); //_socketToWriteOn = null; _statut = DTP_Statut.StandBy; }
Partager