TCPServer отправляет html в браузер

#delphi #sockets

#delphi #сокеты

Вопрос:

Я работаю над проектом, в котором я должен реализовать простой веб-сервер только для отображения страницы приветствия. Итак, я разместил TTCPServer в своей форме, и я могу успешно отправлять обычный текст в браузер, который взаимодействует с сервером. Но как я могу отправить HTML?

Я пробовал это, но не работает.

 ClientSocket.Sendln('HTTP/1.0 200 OK');
ClientSocket.Sendln('MIME-version: 1.0');
ClientSocket.Sendln('Content-type: text/html');
ClientSocket.Sendln('Content-Length:' IntToStr(Length(webpage) 10));
ClientSocket.Sendln(AnsiString(Format(webpage, [va, ma, mi, timexx])));
  

Есть идеи? Я все равно не хочу использовать другой компонент.

Комментарии:

1. Вы уверены в вычислении длины? Строка (HTML) создается после отправки ее длины клиенту.

2. Я удалил, что это было неправильное значение. хороший момент!

Ответ №1:

Вам нужен дополнительный CRLF после последнего заголовка, чтобы браузер мог определять конец заголовков и начало тела.