小编Jam*_*rst的帖子

Boost 1.70 io_service 弃用

我正在尝试将一些旧代码从使用 io_service 迁移到 io_context 作为基本 tcp 接受器,但是在将 get_io_service() 切换到 get_executor().context() 时遇到问题,导致以下错误:

\n
cannot convert \xe2\x80\x98boost::asio::execution_context\xe2\x80\x99 to \xe2\x80\x98boost::asio::io_context&\xe2\x80\x99\n
Run Code Online (Sandbox Code Playgroud)\n

这是听众:

\n
ImageServerListener::ImageServerListener(boost::asio::io_context& io)\n{\n    _acceptor = new boost::asio::ip::tcp::acceptor(io, boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(), sConfig.net.imageServerPort));\n    StartAccept();\n}\n\nImageServerListener::~ImageServerListener()\n{\n    delete _acceptor;\n}\n\nvoid ImageServerListener::StartAccept()\n{\n    std::shared_ptr<ImageServerConnection> connection = ImageServerConnection::create(_acceptor->get_executor().context());\n    _acceptor->async_accept(connection->socket(), std::bind(&ImageServerListener::HandleAccept, this, connection));\n}\n\nvoid ImageServerListener::HandleAccept(std::shared_ptr<ImageServerConnection> connection)\n{\n    connection->Process();\n    StartAccept();\n}\n
Run Code Online (Sandbox Code Playgroud)\n

为了返回 io_context 而不是execution_context,必须更改什么?

\n

c++ boost boost-asio c++11

2
推荐指数
1
解决办法
1909
查看次数

标签 统计

boost ×1

boost-asio ×1

c++ ×1

c++11 ×1