diff --git a/src/websockets/qwebsocketserver.h b/src/websockets/qwebsocketserver.h index ceb9106b..ff9c945f 100644 --- a/src/websockets/qwebsocketserver.h +++ b/src/websockets/qwebsocketserver.h @@ -159,6 +159,7 @@ class Q_WEBSOCKETS_EXPORT QWebSocketServer : public QObject void sslErrors(const QList &errors); void preSharedKeyAuthenticationRequired(QSslPreSharedKeyAuthenticator *authenticator); #endif + void preStartedEncryptionHandshake(QSslSocket *pTcpSocket); void closed(); }; diff --git a/src/websockets/qwebsocketserver_p.cpp b/src/websockets/qwebsocketserver_p.cpp index 3196ca79..96935efc 100644 --- a/src/websockets/qwebsocketserver_p.cpp +++ b/src/websockets/qwebsocketserver_p.cpp @@ -101,6 +101,8 @@ void QWebSocketServerPrivate::init() Qt::QueuedConnection); QObjectPrivate::connect(pSslServer, &QSslServer::startedEncryptionHandshake, this, &QWebSocketServerPrivate::startHandshakeTimeout); + QObject::connect(pSslServer, &QSslServer::startedEncryptionHandshake, + q, &QWebSocketServer::preStartedEncryptionHandshake); QObject::connect(pSslServer, &QSslServer::peerVerifyError, q, &QWebSocketServer::peerVerifyError); QObject::connect(pSslServer, &QSslServer::sslErrors,