diff --git a/appsrc/appconfig/basic/zappversion.hpp b/appsrc/appconfig/basic/zappversion.hpp index d7a0df2..19c973d 100644 --- a/appsrc/appconfig/basic/zappversion.hpp +++ b/appsrc/appconfig/basic/zappversion.hpp @@ -1,3 +1,3 @@ #pragma once -#define VERSION "2.4.0" +#define VERSION "2.4.1" #define PROJECT_NAME "TRANSMIT_DM" \ No newline at end of file diff --git a/appsrc/baseservice/iflytop_front_end_service/iflytop_front_end_service.cpp b/appsrc/baseservice/iflytop_front_end_service/iflytop_front_end_service.cpp index 9f634f4..7d2c059 100644 --- a/appsrc/baseservice/iflytop_front_end_service/iflytop_front_end_service.cpp +++ b/appsrc/baseservice/iflytop_front_end_service/iflytop_front_end_service.cpp @@ -14,6 +14,7 @@ void IflytopFrontEndService::initialize(string ip) { m_workQueue->startWork(); m_server.reset(new WebSocketServer(19001, ip)); + m_server->enablePong(); SocketTLSOptions tlsOptions; // tlsOptions.tls = true; m_server->setTLSOptions(tlsOptions); @@ -74,18 +75,25 @@ void IflytopFrontEndService::sendReport(json reportType, json report) { report["messageId"] = UUID().toString(); report["messageType"] = "Report"; report["reportType"] = reportType; - logger->debug("uplink msg: {}", report.dump()); - auto clients = m_reportServer->getClients(); - for (auto& each : clients) { - each->sendText(report.dump()); - } auto serverClients = m_server->getClients(); + if (serverClients.size() != 0) { + logger->debug(""); + } for (auto& each : serverClients) { if (each) { - each->sendText(report.dump()); + logger->debug("send msg to clientId:{}", each->getUrl()); + auto result = each->sendText(report.dump()); + if (!result.success) { + logger->debug("send failed,clientId:{},error:{}", each->getUrl(), result.compressionError); + } else { + logger->debug("send success,clientId:{},payloadSize:{},wireSize:{}", each->getUrl(), result.payloadSize, result.wireSize); + } } } + if (serverClients.size() != 0) { + logger->debug(""); + } } void IflytopFrontEndService::sendClassReport(string fromclass, string fromfn, const json& rely) { @@ -103,6 +111,9 @@ void IflytopFrontEndService::sendClassReport(string fromclass, string fromfn, co // } void IflytopFrontEndService::onMessageCallback(weak_ptr webSocket, shared_ptr connectionState, const ix::WebSocketMessagePtr& msg) { + auto ws = webSocket.lock(); + if (!ws) return; + if (msg->type == ix::WebSocketMessageType::Open) { logger->info("New connection"); logger->info("id : {}", connectionState->getId()); @@ -111,6 +122,9 @@ void IflytopFrontEndService::onMessageCallback(weak_ptr webSocket, sh for (auto it : msg->openInfo.headers) { logger->info(" {}: {}", it.first, it.second); } + // ws->setPingInterval(2); + ws->enablePong(); + ws->setUrl(fmt::format("{}:{}", connectionState->getRemoteIp(), connectionState->getRemotePort())); } else if (msg->type == ix::WebSocketMessageType::Message) { logger->debug("downlink msg: {}", msg->str); diff --git a/appsrc/service/hardware/device_io_ctrl_service.cpp b/appsrc/service/hardware/device_io_ctrl_service.cpp index 899b4bb..9769e2e 100644 --- a/appsrc/service/hardware/device_io_ctrl_service.cpp +++ b/appsrc/service/hardware/device_io_ctrl_service.cpp @@ -308,7 +308,7 @@ int DeviceIoControlService::Blower_close() { return 0; } float DeviceIoControlService::Blower_readEI() { - logger->info(" Blower_readEI"); + // logger->info(" Blower_readEI"); if (!VIRTUAL_DEVICE()) return CAN_MASTER->blowerReadEI(GET_BOARDID()) / 1000.0; return 0; } diff --git a/appsrc/service/hardware/sensor_state_sync_service.cpp b/appsrc/service/hardware/sensor_state_sync_service.cpp index 23ce230..9466d0b 100644 --- a/appsrc/service/hardware/sensor_state_sync_service.cpp +++ b/appsrc/service/hardware/sensor_state_sync_service.cpp @@ -3,7 +3,10 @@ using namespace iflytop; using namespace std; using namespace core; -void SensorStateSyncService::initialize() { GET_TO_SERVICE(deviceIoControlService); } +void SensorStateSyncService::initialize() { + GET_TO_SERVICE(deviceIoControlService); + startSync(); +} void SensorStateSyncService::startSync() { if (updateThread && !updateThread->isWaitingForJoin()) { diff --git a/release/app-v2.4.1-aarm64.tar.gz b/release/app-v2.4.1-aarm64.tar.gz new file mode 100644 index 0000000..d428cd6 Binary files /dev/null and b/release/app-v2.4.1-aarm64.tar.gz differ