|  | 
            Construct and open a basic_stream_socket.
          
basic_stream_socket( asio::io_service & io_service, const protocol_type & protocol);
This constructor creates and opens a stream socket. The socket needs to be connected or accepted before data can be sent or received on it.
                  The io_service
                  object that the stream 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.