public void Connect() { webSocket.Connect(uri, () => { if (uri.Scheme == UriWeb.UriSchemeWss) { var sslStream = webSocket.CreateSslStream(certificateValidationCallback); sslStream.BeginAuthenticateAsClient(uri.DnsSafeHost, //clientCertificates, null, SslProtocols.Tls, CheckCertificateRevocation, OnAuthenticateAsClient, sslStream); } else { etiquette.GiveHandshake(webSocket, () => { webSocket.ReceiveAsync(); handler.Connected(uri.ToString()); }); } }); }