I am getting a runtime error in the following code:
boost::asio::io_context io_context;
server server1(io_context, 1980);
boost::thread t(boost::bind(&boost::asio::io_context::run, &io_context));
Where the definition of the server class is:
using boost::asio::ip::tcp;
class server
{
public:
server(boost::asio::io_context& io_context, short port)
: acceptor_(io_context, tcp::endpoint(tcp::v4(), port))
{
do_accept();
}
private:
void do_accept()
{
acceptor_.async_accept(
[this](boost::system::error_code ec, tcp::socket socket)
{
if (!ec)
{
std::make_shared<session>(std::move(socket))->start();
}
do_accept();
});
}
tcp::acceptor acceptor_;
};
The error is at the point:
server(boost::asio::io_context& io_context, short port)
: acceptor_(io_context, tcp::endpoint(tcp::v4(), port))
Exception thrown at 0x00007FFE9D804F69 in Everest.exe: Microsoft C++ exception: boost::wrapexceptboost::system::system_error at memory location 0x0000003AA613BDB0.