如何在Boost 1.71中从“ basic_socket”获取“ io_context”?

时间:2019-10-15 14:03:51

标签: c++ boost

我正在使用boost :: asio,版本boost是1.71。最初我有ip :: tcp :: socket对象,将其命名为“ socket”。我需要获取此套接字使用的io_context。

在早期的boost版本(例如1.62)中,它很简单。有asio :: basic_socket :: get_io_service()方法。但是我如何在Boost 1.71中做到这一点呢?

由于我有一个项目大量使用boost1.62和无处不在使用的“ asio :: basic_socket :: get_io_service()”,因此出现了这种必要性。

我尝试过:

// сокет socket
asio::executor e = socket.get_executor();
asio::execution_context &e_context = e.context();
asio::io_context &context_instance = static_cast<asio::io_context&>(e_context);

但是它看起来很危险且不正确。尽管它可以成功构建并运行。

0 个答案:

没有答案