我正在使用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);
但是它看起来很危险且不正确。尽管它可以成功构建并运行。