basic_datagram_socket( asio::io_service & io_service);
This constructor creates a datagram socket without opening it. The
function must be called before data can be sent or received on the socket.
object that the datagram socket will use to dispatch handlers for
any asynchronous operations performed on the socket.