cpp-netlib, как заставить такой пример возвращать через TCP (убрать заголовок http)? - PullRequest
1 голос
/ 06 февраля 2011

Я знаю, что для таких целей создан boost :: asio, но мне было бы намного легче, если бы был способ переключаться между использованием http и не использованием http ... (я имею в виду, что у меня есть 10 службкоторые используют http и 4, которые используют TCP, но делают совершенно одинаковые вещи (получают http, получают запросы и возвращают TCP-сообщения), поэтому такая функция мне действительно поможет)

Итак, давайте посмотрим пример http serrver

#include <boost/network/protocol/http/server.hpp>
#include <string>
#include <iostream>

namespace http = boost::network::http;

struct hello_world;
typedef http::server<hello_world> server;

struct hello_world
{
    void operator() (server::request const &request,
                     server::response &response)
    {
        std::string ip = source(request);
        response = server::response::stock_reply(
                       server::response::ok, std::string("Hello, ") + ip + "!");
    }
};

int
main(int argc, char * argv[])
{

    if (argc != 3)
    {
        std::cerr << "Usage: " << argv[0] << " address port" << std::endl;
        return 1;
    }

    try
    {
        hello_world handler;
        server server_(argv[1], argv[2], handler);
        server_.run();
    }
    catch (std::exception &e)
    {
        std::cerr << e.what() << std::endl;
        return 1;
    }
    return 0;
}

Как сделать так, чтобы он возвращал сообщения без http ответа herder?

1 Ответ

0 голосов
/ 14 февраля 2011

Если вы не хотите использовать библиотеку HTTP, вы можете попробовать netcat или другие инструменты, которые отправляют прямые сообщения по TCP без какого-либо конкретного протокола.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...