HttpListener вызывает ошибку «Указанное имя сети больше не доступно» - PullRequest
0 голосов
/ 27 декабря 2018

Я хочу отправить видео с сервера на клиент, но при подключении клиента возникает ошибка «Указанное сетевое имя больше не доступно».

Реальная проблема заключается в том, что при попытке отправить его без содержимого введите егоработает и клиент получает видео в виде файла без формата.Но когда я указываю тип контента "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.");
    }

Единственное, что я хочу, чтобы этот код - это отправить его.клиенту как видео (не как файл), чтобы клиент мог смотреть его прямо в браузере.

...