Bonjour tout le monde,
Je viens vers vous car je rencontre des difficultés dans mon application. Je ne suis pas un expert, donc désolé d'avance si je n'utilise pas les bons termes ou si la réponse est évidente.

Je suis en de créer une application serveur en c# utilisant HttpListener. Cette application répond aux requêtes envoyés par les navigateurs des mobiles. Pour leur renvoyer des fichiers HTML, je ne rencontre pas de difficultés. Mais j'aimerais envoyer des vidéos. Voici mon code après avoir déterminé la nature de la réponse à retourner :
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
try
                    {
                        FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
                        byte[] b = new byte[fs.Length];
                        fs.Read(b, 0, System.Convert.ToInt32(fs.Length));
                        fs.Close();
                        context.Response.ContentLength64 = b.Length;
                        context.Response.OutputStream.Write(b, 0, b.Length);
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine("Erreur : " + e.Message);
                    }
                    finally
                    {
                        context.Response.OutputStream.Close();
                    }
context est du type HttpListenerContext.
Lorsque je demande à mon android de lancer la vidéos tout va bien, mais si j'arrête la lecture et que je retourne sur une autre page avant que la vidéo n'ait eu le temps de se charger. J'ai l'erreur et l'exception suivante :
Erreur : L'opération d'entrée/sortie a été abandonnée en raison de l'arrêt d'un thread ou à la demande d'une application.

Exception non gérée : System.InvalidOperationException : Impossible de fermer le flux tant que tous les octets ne sont pas écrits.
à System.Net.HttpResponseStream.Dispose (Boolean disposing)
à System.IO.Stream.Close()
à System.IO.Stream.Dispose()
...
Si vous avez une idée ou même une solution pour résoudre ce problème, je suis preneur.

Bonne soirée à tous