diff options
Diffstat (limited to 'src/websockets')
-rw-r--r-- | src/websockets/qwebsocket_p.h | 2 | ||||
-rw-r--r-- | src/websockets/qwebsocket_wasm_p.cpp | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/websockets/qwebsocket_p.h b/src/websockets/qwebsocket_p.h index fd631d4..4b39dfc 100644 --- a/src/websockets/qwebsocket_p.h +++ b/src/websockets/qwebsocket_p.h @@ -158,6 +158,7 @@ public: void close(QWebSocketProtocol::CloseCode closeCode, QString reason); void open(const QNetworkRequest &request, bool mask); void ping(const QByteArray &payload); + void setSocketState(QAbstractSocket::SocketState state); private: QWebSocketPrivate(QTcpSocket *pTcpSocket, QWebSocketProtocol::Version version); @@ -168,7 +169,6 @@ private: void setProtocol(const QString &protocol); void setExtension(const QString &extension); void enableMasking(bool enable); - void setSocketState(QAbstractSocket::SocketState state); void setErrorString(const QString &errorString); void socketDestroyed(QObject *socket); diff --git a/src/websockets/qwebsocket_wasm_p.cpp b/src/websockets/qwebsocket_wasm_p.cpp index 2ac61ba..922d6a8 100644 --- a/src/websockets/qwebsocket_wasm_p.cpp +++ b/src/websockets/qwebsocket_wasm_p.cpp @@ -63,6 +63,7 @@ static void q_onCloseCallback(val event) QWebSocketPrivate *wsp = reinterpret_cast<QWebSocketPrivate*>(target["data-context"].as<quintptr>()); Q_ASSERT (wsp); + wsp->setSocketState(QAbstractSocket::UnconnectedState); emit wsp->q_func()->disconnected(); } @@ -73,6 +74,7 @@ static void q_onOpenCallback(val event) QWebSocketPrivate *wsp = reinterpret_cast<QWebSocketPrivate*>(target["data-context"].as<quintptr>()); Q_ASSERT (wsp); + wsp->setSocketState(QAbstractSocket::ConnectedState); emit wsp->q_func()->connected(); } @@ -149,6 +151,7 @@ void QWebSocketPrivate::close(QWebSocketProtocol::CloseCode closeCode, QString r m_closeCode = closeCode; m_closeReason = reason; Q_EMIT q->aboutToClose(); + setSocketState(QAbstractSocket::ClosingState); socketContext.call<void>("close", static_cast<quint16>(closeCode), reason.toLatin1().toStdString()); @@ -165,6 +168,7 @@ void QWebSocketPrivate::open(const QNetworkRequest &request, bool mask) return; } + setSocketState(QAbstractSocket::ConnectingState); const std::string urlbytes = url.toString().toStdString(); // HTML WebSockets do not support arbitrary request headers, but |