Вот весь код:
Ответ формулируется так:namespace http = boost::network::http; struct handler; typedef http::server<handler> http_server; struct handler { void operator() (http_server::request const & request_, http_server::response & response_) { response = http_server::response::stock_reply( http_server::response::ok, "Hello, world!"); } void log(http_server::string_type const & info) { std::cerr << "ERROR: " << info << '\n'; } }; int main(int arg, char * argv[]) { handler handler_; http_server server_("0.0.0.0", "8000", handler_); server_.run(); }
здесь http_server::response::stock_reply() записывает ответ клиенту
response = http_server::response::stock_reply(http_server::response::ok, "Hello, world!");
которий состоит из кода ответа сервера (в данном случае HTTP 200 OK) и текста что клиент увидит в браузере. в void log(...) записывается ошибка если такова есть.
Переходим до main(...) {...}
первую строку думаю объяснять не надо, дальше записываем в конструктор нужные параметры, ip сервера порт структура handler_
http_server server_("localhost", "8080", handler_);
запукаем цикл прослушивания
server_.run();
это синхронный сервер, об асинхронном раскажу в следующих публикациях.
Комментариев нет:
Отправить комментарий