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