From 419371f95936fa7f49389fbc07bac250f21240a9 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Mon, 14 Aug 2023 22:14:11 +0800 Subject: [PATCH] update --- .../iflytop_front_end_service.cpp | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/iflytop/components/iflytop_front_end_service/iflytop_front_end_service.cpp b/src/iflytop/components/iflytop_front_end_service/iflytop_front_end_service.cpp index 7cbe7d9..32c5098 100644 --- a/src/iflytop/components/iflytop_front_end_service/iflytop_front_end_service.cpp +++ b/src/iflytop/components/iflytop_front_end_service/iflytop_front_end_service.cpp @@ -10,7 +10,8 @@ using namespace core; using namespace ix; void IflytopFrontEndService::initialize(string ip) { - logger->info("IflytopFrontEndService initialize {}", 19001); + logger->info("IflytopFrontEndService initialize {}:{}", ip, 19001); + logger->info("IflytopFrontEndService initialize {}:{}", ip, 19002); m_server.reset(new WebSocketServer(19001, ip)); m_server->setOnConnectionCallback([this](weak_ptr webSocket, shared_ptr connectionState) { @@ -27,6 +28,13 @@ void IflytopFrontEndService::initialize(string ip) { }); m_report_server.reset(new WebSocketServer(19002, ip)); + m_report_server->setOnConnectionCallback([this](weak_ptr webSocket, shared_ptr connectionState) { + logger->info("Remote ip: {}", connectionState->getRemoteIp()); + auto ws = webSocket.lock(); + if (!ws) return; + ws->setOnMessageCallback([this, webSocket, connectionState](const ix::WebSocketMessagePtr& msg) {}); + }); + m_initialized = true; } void IflytopFrontEndService::startListen() { @@ -47,7 +55,7 @@ void IflytopFrontEndService::startListen() { m_report_server->disablePerMessageDeflate(); m_report_server->start(); - logger->info("IflytopFrontEndService initialize done"); + logger->info("IflytopFrontEndService startListen"); } // void IflytopFrontEndService::sendMessage(const string& message) { @@ -127,18 +135,18 @@ void IflytopFrontEndService::processRxMessage(weak_ptr webSocket, con receipt["timeStamp"] = duration_cast(system_clock::now().time_since_epoch()).count(); try { onMessage(webSocket, command, receipt); - if (command["need_receipt"]) { + if (command.find("need_receipt") == command.end() || command["need_receipt"]) { shared_ptr ws = webSocket.lock(); - if (ws) ws->sendText(receipt.dump()); + if (ws) ws->sendText(receipt.dump(1)); } } catch (const std::exception& e) { logger->error("m_iflytopWSService:onMessag,process rx json failed,exception:{},{}", e.what(), msgtext); - if (command["need_receipt"]) { + if (command.find("need_receipt") == command.end() || command["need_receipt"]) { shared_ptr ws = webSocket.lock(); receipt["ackcode"] = err::error_code_get_get_ecode(err::kcommon_error_code, err::kparse_json_err); receipt["ackcodeInfo"] = err::error_code_get_desc(err::kcommon_error_code, err::kparse_json_err, e.what()); - if (ws) ws->sendText(receipt.dump()); + if (ws) ws->sendText(receipt.dump(1)); } }