{
if (!m_isClosingHandshakeSent)
{
- m_pSocket->flush();
-
quint32 maskingKey = 0;
if (m_mustMask)
{
QByteArray frame = getFrameHeader(WebSocketProtocol::OC_CLOSE, payload.size(), maskingKey, true);
frame.append(payload);
m_pSocket->write(frame);
+ m_pSocket->flush();
m_isClosingHandshakeSent = true;
- //setSocketState(QAbstractSocket::ClosingState);
Q_EMIT aboutToClose();
}
- //if (m_isClosingHandshakeSent && m_isClosingHandshakeReceived)
- {
m_pSocket->close();
- setSocketState(QAbstractSocket::UnconnectedState);
- Q_EMIT disconnected();
- }
}
/*!
if (webSocketState == QAbstractSocket::ConnectedState)
{
setSocketState(QAbstractSocket::ClosingState);
- close(WebSocketProtocol::CC_GOING_AWAY);
- //Q_EMIT aboutToClose();
}
break;
}
}
}
}
- m_isClosingHandshakeReceived = true;
}
+ m_isClosingHandshakeReceived = true;
close(static_cast<WebSocketProtocol::CloseCode>(closeCode), closeReason);
break;
}