summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoni Poikelin <joni.poikelin@qt.io>2021-12-30 10:41:42 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-01-12 08:22:37 +0000
commite1a8b7723a373ecb8837e8bf8249a03a1208d193 (patch)
treea5ffbd0adddcb12f5bf12c470e32545de331fa2d
parent3e61227dd8880c516bb57cc3869cae56f6cc00bc (diff)
downloadqtwebsockets-e1a8b7723a373ecb8837e8bf8249a03a1208d193.tar.gz
Fix setting of socket options
Socket options need to be set after connectToHost() to take any effect. Change-Id: I006a8c59ba1c78d5edaa77d545bb0f640b7224fe Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io> (cherry picked from commit 647922b1122977625b8f32fbc0bb2e9339afb4a3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/websockets/qwebsocket_p.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/websockets/qwebsocket_p.cpp b/src/websockets/qwebsocket_p.cpp
index e0b4633..bb8f53d 100644
--- a/src/websockets/qwebsocket_p.cpp
+++ b/src/websockets/qwebsocket_p.cpp
@@ -429,8 +429,10 @@ void QWebSocketPrivate::open(const QNetworkRequest &request, bool mask)
QSslSocket *sslSocket = new QSslSocket(q);
m_pSocket = sslSocket;
if (Q_LIKELY(m_pSocket)) {
- m_pSocket->setSocketOption(QAbstractSocket::LowDelayOption, 1);
- m_pSocket->setSocketOption(QAbstractSocket::KeepAliveOption, 1);
+ QObject::connect(sslSocket, &QSslSocket::connected, [sslSocket](){
+ sslSocket->setSocketOption(QAbstractSocket::LowDelayOption, 1);
+ sslSocket->setSocketOption(QAbstractSocket::KeepAliveOption, 1);
+ });
m_pSocket->setReadBufferSize(m_readBufferSize);
m_pSocket->setPauseMode(m_pauseMode);
@@ -458,8 +460,10 @@ void QWebSocketPrivate::open(const QNetworkRequest &request, bool mask)
if (url.scheme() == QStringLiteral("ws")) {
m_pSocket = new QTcpSocket(q);
if (Q_LIKELY(m_pSocket)) {
- m_pSocket->setSocketOption(QAbstractSocket::LowDelayOption, 1);
- m_pSocket->setSocketOption(QAbstractSocket::KeepAliveOption, 1);
+ QObject::connect(m_pSocket, &QTcpSocket::connected, [this](){
+ m_pSocket->setSocketOption(QAbstractSocket::LowDelayOption, 1);
+ m_pSocket->setSocketOption(QAbstractSocket::KeepAliveOption, 1);
+ });
m_pSocket->setReadBufferSize(m_readBufferSize);
m_pSocket->setPauseMode(m_pauseMode);