You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.4 KiB

2 years ago
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();
}
}
}
}
}