refactor:调整websocket重连逻辑
This commit is contained in:
parent
5814b2babe
commit
a3ddfb95b9
|
|
@ -1,7 +1,7 @@
|
|||
[RealtimeData]
|
||||
host=192.168.46.100
|
||||
port=10080
|
||||
httpPath=monitors/data/subscriptions
|
||||
httpPath=/monitors/data/subscriptions
|
||||
websocketPath=monitors/data/realtime/stream
|
||||
|
||||
[HistoricalData]
|
||||
|
|
|
|||
|
|
@ -73,7 +73,10 @@ void MeasurementDataManager::buildSubscriptionRequest(const QString& action, con
|
|||
url.setPort(m_serviceConfig.realtimeCfg.port);
|
||||
url.setPath(m_serviceConfig.realtimeCfg.httpPath);
|
||||
if(!url.isValid())
|
||||
{
|
||||
LOG_ERROR("Http-MeasurementData", QString("url:'%1' is not valid"));
|
||||
return ;
|
||||
}
|
||||
|
||||
//创建网络请求
|
||||
QNetworkRequest request(url);
|
||||
|
|
@ -296,11 +299,12 @@ void MeasurementDataManager::getSubscriptionRealtimeData()
|
|||
, m_serviceConfig.realtimeCfg.websocketPath
|
||||
, m_clientID);
|
||||
QUrl url(strUrl);
|
||||
if(!m_webSocketClient->connectToServer(url))
|
||||
{
|
||||
QString errorMsg = QString("Connect to WebSocketServer failed");
|
||||
LOG_ERROR("WebSocket-MeasurementData", errorMsg);
|
||||
}
|
||||
m_webSocketClient->connectToServer(url);
|
||||
// if(!m_webSocketClient->connectToServer(url))
|
||||
// {
|
||||
// QString errorMsg = QString("Connect to WebSocketServer failed");
|
||||
// LOG_ERROR("WebSocket-MeasurementData", errorMsg);
|
||||
// }
|
||||
}
|
||||
|
||||
void MeasurementDataManager::requestData(const QStringList& measurements, QObject* requester)
|
||||
|
|
|
|||
|
|
@ -153,7 +153,8 @@ void WebSocketClient::cleanupWebSocket()
|
|||
|
||||
void WebSocketClient::scheduleReconnect()
|
||||
{
|
||||
if(m_connectionStatus == ConnectionStatus::Disconnected || m_connectionStatus == ConnectionStatus::Error)
|
||||
if(m_connectionStatus == ConnectionStatus::Connected || m_connectionStatus == ConnectionStatus::Connecting
|
||||
|| m_connectionStatus == ConnectionStatus::Reconncting)
|
||||
return;
|
||||
|
||||
if(m_reconnectAttempts < m_maxReconnectAttempts)
|
||||
|
|
@ -195,6 +196,8 @@ void WebSocketClient::onDisconnected()
|
|||
|
||||
void WebSocketClient::onError(QAbstractSocket::SocketError error)
|
||||
{
|
||||
m_connected = false;
|
||||
m_connectionStatus = ConnectionStatus::Error;
|
||||
QString errorMsg = m_webSocket ? m_webSocket->errorString() : "Unknown WebSocket error";
|
||||
LOG_ERROR("WebSocket", errorMsg);
|
||||
scheduleReconnect();
|
||||
|
|
|
|||
Loading…
Reference in New Issue