作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想创建一个 Http 服务器来发送 MJPEG 流。因此,首先我想创建一个只发送一些 html/文本的简单版本。我已经设法设置了一个 TCP 服务器,但我不知道如何像 http 服务器一样“运行”。
我做了什么:创建了一个 TCP 服务器。当客户端连接时,会创建一个 TCP-Socket。然后我实现了一个 ReadyRead SLOT,它在浏览器向服务器发送“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 OK
Content-Type: text/html
Test
那我做错了什么?我想过接收客户端 GET 请求,返回发送 header 、Mimes 和内容,然后关闭连接....这个方法是错误的还是我编码的方式?
最佳答案
/
和 1.1
之间有一个额外的空格,并且在 header block 和响应正文之间缺少一个空行。
关于c++ - 如何在 C++/QT 中创建带有 TCP 服务器套接字的 Http 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33064179/
我是一名优秀的程序员,十分优秀!