我想将视频从服务器发送到客户端,但是当客户端连接“指定的网络名称不再可用”时发生错误。
真正的问题是,当我尝试发送不带内容类型的内容时,它正常工作,并且客户端将视频作为文件格式接收。 但是当我将内容类型指定为“ video / mp4”时,就会发生错误。
这是我的代码:
static HttpListener _httpListener = new HttpListener();
private void Button_Click(object sender, RoutedEventArgs e)
{
_httpListener.Prefixes.Add("http://localhost:5000/");
_httpListener.Start();
Response();
}
static void Response()
{
HttpListenerContext context = _httpListener.GetContext();
context.Response.ContentType = "video/mp4";
using (FileStream video = new FileStream("vid.mp4", FileMode.Open))
{
byte[] buffer = new byte[4096];
while (true)
{
int bytesRead = video.Read(buffer, 0, buffer.Length);
if (bytesRead == 0) break;
context.Response.OutputStream.Write(buffer, 0, buffer.Length);
}
}
context.Response.KeepAlive = false;
context.Response.Close();
Console.WriteLine("Respone given to a request.");
}
我唯一希望此代码执行的操作是将其作为视频(而不是文件)发送给客户端,以便客户端可以直接在浏览器中观看它。