diff --git a/measurementDataService_config.ini b/measurementDataService_config.ini index c54de1b..52e5764 100644 --- a/measurementDataService_config.ini +++ b/measurementDataService_config.ini @@ -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] diff --git a/source/measurementDataManager.cpp b/source/measurementDataManager.cpp index 8002a41..16e74c7 100644 --- a/source/measurementDataManager.cpp +++ b/source/measurementDataManager.cpp @@ -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) diff --git a/source/measurementDataUtils.cpp b/source/measurementDataUtils.cpp index bc2bd8e..7c5310b 100644 --- a/source/measurementDataUtils.cpp +++ b/source/measurementDataUtils.cpp @@ -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();