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