using System.Net; namespace HttpStreamingApp { internal class Program { static void Main(string[] args) { Thread serverThread = new Thread(new ThreadStart(StartServer)); serverThread.Start(); Console.WriteLine("HTTP Server start."); Console.ReadKey(); serverThread.Abort(); } static void StartServer() { using (var listener = new HttpListener()) { listener.Prefixes.Add("http://127.0.0.1:9879/"); listener.Start(); while (true) { var context = listener.GetContext(); var response = context.Response; response.ContentType = "audio/mpeg"; using (var stream = new FileStream("./audio.mp3", FileMode.Open)) { byte[] buffer = new byte[64 *1024]; int bytesRead = 0; while ((bytesRead = stream.Read(buffer, 0, buffer.Length)) > 0) { response.OutputStream.Write(buffer, 0, bytesRead); response.OutputStream.Flush(); } } response.Close(); } } } } }