Networkstream.Write() se bloque
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 :
Code:
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;
} |
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)