Всем привет.
Есть программа http-сервер. К нему коннектится браузер по адресу 127.0.0.1/p.png. В ответ должна отобразиться картинка, но этого не происходит.
Код обработки клиента:
QByteArray arrBlock;
QTcpSocket* clientSocket = (QTcpSocket*)sender();
QStringList tokens = QString(clientSocket->readLine()).split(QRegExp("[ \r\n][ \r\n]*"));
if (tokens[0] == "GET") {
tokens[1] = tokens[1].prepend(".");
}
if (tokens[1] == "./p.png")
{
QPicture pic;
pic.load(tokens[1]);
QDataStream out(&arrBlock, QIODevice::WriteOnly);
int size = pic.size();
out << "HTTP/1.0 200 Ok\r\n"
"Content-Type: image/png\r\n"
"Content-Length: " << size << "\r\n"
"\r\n";
out.writeRawData(pic.data(), size);
clientSocket->write(arrBlock);
}
Что не так?
PS Еще в выводе возникает уведомление "QPicturePaintEngine::checkFormat: Incorrect header", но при этом переменная size показывает правильное значение.