summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMårten Nordheim <marten.nordheim@qt.io>2022-12-13 17:07:48 +0100
committerMårten Nordheim <marten.nordheim@qt.io>2022-12-15 17:23:47 +0100
commit98c338a2d55f973b91e71169cd4f6ae903a95d70 (patch)
treeadc97072800c1f89df2cc44b1de3be18679a7776
parentcb308085cbff90c11267f6bc36d6778f56145a5d (diff)
downloadqtwebsockets-98c338a2d55f973b91e71169cd4f6ae903a95d70.tar.gz
Disconnect when handshake fails
It is unexpected that websocket does not disconnect once it knows the handshake has failed. Change-Id: I11e64745ffdb01c11ac79739cf7f384ad6cc4590 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 7efdec16d9f6116fc6c13bc3ae7c9b9e229e5a49)
-rw-r--r--src/websockets/qwebsocket_p.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/websockets/qwebsocket_p.cpp b/src/websockets/qwebsocket_p.cpp
index 8ad72c3..cc93d61 100644
--- a/src/websockets/qwebsocket_p.cpp
+++ b/src/websockets/qwebsocket_p.cpp
@@ -1092,6 +1092,8 @@ void QWebSocketPrivate::processHandshake(QTcpSocket *pSocket)
// handshake failed
setErrorString(errorDescription);
Q_EMIT q->error(QAbstractSocket::ConnectionRefusedError);
+ if (m_pSocket->state() != QAbstractSocket::UnconnectedState)
+ m_pSocket->disconnectFromHost();
}
}