|  | 
            Construct and open a basic_datagram_socket.
          
basic_datagram_socket( asio::io_service & io_service, const protocol_type & protocol);
This constructor creates and opens a datagram socket.
                  The io_service
                  object that the datagram socket will use to dispatch handlers for
                  any asynchronous operations performed on the socket.
                
An object specifying protocol parameters to be used.
Thrown on failure.