...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Accept a new connection.
template< typename Executor1> Protocol::socket::template rebind_executor< Executor1 >::other accept( const executor_type & ex, endpoint_type & peer_endpoint, boost::system::error_code & ec, typename constraint< is_executor< Executor1 >::value||execution::is_executor< Executor1 >::value >::type = 0);
This function is used to accept a new connection from a peer. The function call will block until a new connection has been accepted successfully or an error occurs.
This overload requires that the Protocol template parameter satisfy the AcceptableProtocol type requirements.
The I/O executor object to be used for the newly accepted socket.
An endpoint object into which the endpoint of the remote peer will be written.
Set to indicate what error occurred, if any.
On success, a socket object representing the newly accepted connection.
On error, a socket object where is_open()
is false.
boost::asio::ip::tcp::acceptor acceptor(my_context); ... boost::asio::ip::tcp::endpoint endpoint; boost::asio::ip::tcp::socket socket( acceptor.accept(my_context2, endpoint, ec)); if (ec) { // An error occurred. }