I am working on the client application that on the user choice may establish secure (SSL) or ordinary TCP connection to the remote host at the given port. There is an issue when a user tries to connect to SSL server establishing the ordinary TCP connection: connection succeeds, but then server expects the handshake, while client expects the hello string from the server. So nothing happens and no error returned. Is there any way to detect that incorrect settings were used? I am using QSslSocket.