Как создать Http-сервер с сокетами TCP-сервера в C ++ / QT

Я хочу создать Http-сервер для отправки потока MJPEG. Поэтому, во-первых, я хочу создать простую версию, которая просто отправляет html / текст. Мне уже удалось настроить TCP-сервер, но я понятия не имею, как «вести себя» как http-сервер.

Что я сделал:
Создан TCP-сервер. Когда клиент подключается, создается TCP-сокет. Затем я реализовал слот ReadyRead, который выполняется, когда браузер отправляет запрос «GET» на сервер.

GET / HTTP / 1.1
Host: 127.0.0.1:8889
User-Agent:
Mozilla / 5.0 …

Затем я запускаю следующий код

QByteArray header = "HTTP/ 1.1 200 OK\r\n";
m_Client->write(header);

QByteArray ContentType = "Content-Type: text/html\r\n";
m_Client->write(ContentType);

QByteArray Body = "Test";
m_Client->write(Body);

m_Client->close();

Но то, что я вижу в браузере

HTTP / 1.1 200 ОК
Тип контента: текст / HTML
Тестовое задание

Так что я делаю не так? Я думал о получении запроса Client GET, об отправке заголовка, Mimes и контента взамен, а затем о закрытии соединения … Является ли этот метод неправильным или просто так, как я его кодировал?

0

Решение

У вас есть дополнительное пространство между / а также 1.1и вам не хватает пустой строки между блоком заголовков и телом ответа.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]