Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

basic_socket_acceptor::accept (16 of 16 overloads)

Accept a new connection.

    typename ExecutionContext>
Protocol::socket::template rebind_executor< typenameExecutionContext::executor_type >::other accept(
    ExecutionContext & context,
    endpoint_type & peer_endpoint,
    boost::system::error_code & ec,
    constraint_t< is_convertible< ExecutionContext &, execution_context & >::value >  = 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 execution context 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.

Return Value

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.