Отправка данных в сокет - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, уважаемые программисты. Недавно начала изучать c#, столкнулся с проблемой. Пытаюсь написать http-сервер, используя WinSock. Сразу приведу код, в котором, по моему мнению, находится проблема:
while (true)
{
                // Принимаем соединение
                Socket socket = s.Accept();
 
                // html код страницы
                string html = "<b>Hello</b>";
 
                // http-заголовки для браузера
                string headers = "HTTP/1.1 200 OK\nContent-type: text/html\nContent-Encoding: 8bit\n";
                headers += "Content-Length: " + html.Length + headers.Length + "\n\n";
 
                socket.Send(Encoding.UTF8.GetBytes(headers), headers.Length, SocketFlags.None);
                socket.Send(Encoding.UTF8.GetBytes(html), html.Length, SocketFlags.None);
}
В чём собственно проблема. Запускаю этот сервер, захожу браузером на свой IP + порт сервера. Браузер постоянно грузит что-то безответно. Но когда я закрываю свой http-сервер, браузер сразу же получает заголовки и html код страницы. С чем это может быть связано, и как это исправить? Заранее благодарен за ответ!

Решение задачи: «Отправка данных в сокет»

textual
Листинг программы
string headers = "HTTP/1.1 200 OK\nContent-type: html\n";
                    headers += "Content-Length: " + html.Length + headers.Length + "Connection: close" + "\n\n";

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5
Похожие ответы