|  | 
            Construct a basic_datagram_socket on an
            existing native socket.
          
basic_datagram_socket( asio::io_service & io_service, const protocol_type & protocol, const native_handle_type & native_socket);
This constructor creates a datagram socket object to hold an existing native 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.
The new underlying socket implementation.
Thrown on failure.