##### basic_datagram_socket::basic_datagram_socket (6 of 10 overloads)

Construct a `basic_datagram_socket`, opening it and binding it to the given local endpoint.

    template<
        typename ExecutionContext>
    basic_datagram_socket(
        ExecutionContext & context,
        const endpoint_type & endpoint,
        typename enable_if< is_convertible< ExecutionContext &, execution_context & >::value >::type *  = 0);

This constructor creates a datagram socket and automatically opens it bound to the specified endpoint on the local machine. The protocol used is the protocol associated with the given endpoint.

###### Parameters

context

  An execution context which provides the I/O executor that the socket will use, by default, to dispatch handlers for any asynchronous operations performed on the socket.

endpoint

  An endpoint on the local machine to which the datagram socket will be bound.

###### Exceptions

asio::system_error

  Thrown on failure.