Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > Простейший Web-сервер на сокетах


Автор: arcsupport 29.7.2013, 13:39
Почему, если отдавать после акцепта
Код

    "HTTP/1.0 200 OK\r\n"
    "Content-Type: text/html; charset=utf-8\r\n"
    "Connection: close\r\n"
    "\r\n"
    "Hello, world!\n"
    "\r\n";

То опера отображает, а хром -- нет? Как и где исправить?

Автор: SenkraD 30.7.2013, 08:48
Дело в том, что некоторые браузеры посылают серверу перед окончательным приемом данных запрос, который сервак должен просто принять (его можно не обрабатывать, достаточно просто вычитать с сокета). Зачастую такие запросы шлются браузером в случае, когда не указан Content-Lenght. в общем советую посмотреть снифером, чтобы глянуть что и как там ходит.

Автор: akizelokro 30.7.2013, 18:38
Код

"Hello, world!\n"
    "\r\n"
"Connection: close\r\n"
    "\r\n";

    
Попробуй сделать так. Connection:close говорит что соединение закрыто, кажисть так. Нормальный клиент всё закроет и дальше обрабатывать ничего не будет. А вообще, интересная фича.

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com//object-id51f646fa6ccc198931000002#findElement_E7045_51f7de0b6ccc19561a000a9b_0

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)