|  | 
            Construct and open a basic_socket.
          
basic_socket( asio::io_service & io_service, const protocol_type & protocol);
This constructor creates and opens a socket.
                  The io_service
                  object that the 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.