basic_datagram_socket( boost::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.
io_service object that
the datagram socket will use to dispatch handlers for any asynchronous
operations performed on the socket.