aboutsummaryrefslogtreecommitdiffstats
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-16 14:11:10 +0100
commit1e1824043ebb635be4122435149ad179e1efea2c (patch)
treefe8d47c02e1c68859b246b94910692264e5039a3
parent6a57d2796a0337d39236d18d7b500ea79ef8bc00 (diff)
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 a86657c..378e604 100644
--- a/src/websockets/qwebsocket_p.cpp
+++ b/src/websockets/qwebsocket_p.cpp
@@ -1119,6 +1119,8 @@ void QWebSocketPrivate::processHandshake(QTcpSocket *pSocket)
m_handshakeState = AllDoneState;
setErrorString(errorDescription);
Q_EMIT q->error(QAbstractSocket::ConnectionRefusedError);
+ if (m_pSocket->state() != QAbstractSocket::UnconnectedState)
+ m_pSocket->disconnectFromHost();
}
}