【问题标题】:Boost Beast error basic_socket_acceptorBoost Beast错误basic_socket_acceptor
【发布时间】:2018-02-15 12:25:05
【问题描述】:

我正在尝试遵循 boost beast 的一个简单示例,我正在使用 boost v1.58.0 和存储库 v124 中的 beast。

这是我的服务器启动代码:

void server::start () {
    try {
        auto const addr = boost::asio::ip::address::from_string(bind_addr);
        boost::asio::io_service ioc{1};
        boost::asio::ip::tcp::acceptor acc_{ioc, {addr, port}};
        std::list<worker> webworkers;
        for (int i=0;i<workers;i++) {
            webworkers.emplace_back(acc_,doc_root);
            webworkers.back().start();
        }

        if (spin) {
            for(;;) ioc.poll();
        } else {
            ioc.run();
        }

    } catch (std::exception& e) {
        std::cerr << "WebServer Failure: " << e.what() << std::endl;
    }
}

当我尝试编译我的代码时,我收到以下错误:

https://pastebin.com/GdN8DMEX

我正在关注这个例子:

https://github.com/boostorg/beast/tree/develop/example/http/server/fast

【问题讨论】:

    标签: c++ boost network-programming


    【解决方案1】:

    此行试图复制一个basic_acceptor,它不是 CopyConstructible 类型:

    webworkers.emplace_back(acc_,doc_root);
    

    尝试移动一个新的构造函数接受器:

    webworkers.emplace_back(boost::asio::ip::tcp::acceptor{ioc, {addr, port}},doc_root);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-13
      • 1970-01-01
      • 2018-10-06
      • 2018-11-28
      • 1970-01-01
      • 2020-06-29
      相关资源
      最近更新 更多