##### basic_socket::open (1 of 2 overloads)

Open the socket using the specified protocol.

    void open(
        const protocol_type & protocol = protocol_type());

This function opens the socket so that it will use the specified protocol.

###### Parameters

protocol

  An object specifying protocol parameters to be used.

###### Exceptions

asio::system_error

  Thrown on failure.

###### Example

    asio::ip::tcp::socket socket(io_context);
    socket.open(asio::ip::tcp::v4());