如何在C ++ / QT中使用TCP服务器套接字创建Http服务器

时间:2015-10-11 10:58:28

标签: c++ qt httpserver tcpserver simplehttpserver

我想创建一个Http Server来发送MJPEG流。首先,我想创建一个只发送一些HTML /文本的简单版本。我已经管理过设置TCP服务器但是我没有任何关于如何像“http服务器”那样“行动”的线索。

我做了什么: 创建了一个TCP服务器。当客户端连接TCP-Socket时创建。然后我实现了一个ReadyRead SLOT,当浏览器向服务器发送“GET”请求时执行gots。

  

GET / HTTP / 1.1
主机:127.0.0.1:88889
用户代理:   的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 OK
内容类型:text / html
测试

那么我做错了什么?我想收到客户端GET请求,发送Header,Mimes和内容返回然后关闭连接....这个方法是错误的还是我编码的方式?

1 个答案:

答案 0 :(得分:2)

/1.1之间有一个额外的空格,并且在标题栏和响应正文之间缺少一个空行。