From 83a892465c54f94a34c267065761f07a918cc6ae Mon Sep 17 00:00:00 2001 From: pandx Date: Wed, 22 Jan 2025 19:06:01 +0800 Subject: [PATCH] modify codes. --- jsonparse/cmt_parse.cpp | 7 ++++--- localserver/cmt_cmd.cpp | 7 ++++--- localserver/cmt_server.cpp | 1 + localserver/cmt_server.hpp | 7 ++++++- main.cpp | 7 ++++--- threadfunc/thread_func.cpp | 8 +++++--- 6 files changed, 24 insertions(+), 13 deletions(-) diff --git a/jsonparse/cmt_parse.cpp b/jsonparse/cmt_parse.cpp index 8da8c08..3f7dcec 100644 --- a/jsonparse/cmt_parse.cpp +++ b/jsonparse/cmt_parse.cpp @@ -1,3 +1,6 @@ +#include +#include "zlog.h" + #include "communication_cmd.hpp" #include "localserver/local_server.hpp" #include "common/common_func.hpp" @@ -5,8 +8,6 @@ #include #include "dbaccess/sql_db.hpp" #include "scheduler/schedule.hpp" -#include "zlog.h" -#include extern zlog_category_t *zct; @@ -514,4 +515,4 @@ std::string get_file_md5(const std::string& file_path) { result.erase(result.find_last_not_of("\n") + 1); return result; -} \ No newline at end of file +} diff --git a/localserver/cmt_cmd.cpp b/localserver/cmt_cmd.cpp index fe1a87c..a22ffe3 100644 --- a/localserver/cmt_cmd.cpp +++ b/localserver/cmt_cmd.cpp @@ -1,8 +1,9 @@ +#include +#include "zlog.h" + #include "local_server.hpp" #include "jsonparse/communication_cmd.hpp" #include "common/global.hpp" -#include -#include "zlog.h" extern zlog_category_t *zct; @@ -107,4 +108,4 @@ void LocalServer::HandleTcp_cmd(const char* recv_data,char* send_data,uint8_t& r break; } -} \ No newline at end of file +} diff --git a/localserver/cmt_server.cpp b/localserver/cmt_server.cpp index 2b4d6c3..c895e0b 100644 --- a/localserver/cmt_server.cpp +++ b/localserver/cmt_server.cpp @@ -11,6 +11,7 @@ extern zlog_category_t *zct; void CMTSession::start() { + data_ = (char*)malloc(CMT_TCP_LEN); memset(data_, 0, CMT_TCP_LEN); sessionSet_.insert(shared_from_this()); // 将会话添加到会话集合中 do_read(); diff --git a/localserver/cmt_server.hpp b/localserver/cmt_server.hpp index b5c8138..11bcfc7 100644 --- a/localserver/cmt_server.hpp +++ b/localserver/cmt_server.hpp @@ -188,6 +188,11 @@ public: version_ = 1; head_len_ = sizeof(PackageHead); } + ~CMTSession() { + if (data_ != nullptr) { + free(data_); + } + } void start(); void set_data(char *data, int len); @@ -198,7 +203,7 @@ private: tcp::socket socket_; std::unordered_set>& sessionSet_; - char data_[CMT_TCP_LEN]; + char *data_; std::string web_version_; int version_; int head_len_; diff --git a/main.cpp b/main.cpp index a0d7839..eec045c 100644 --- a/main.cpp +++ b/main.cpp @@ -116,9 +116,6 @@ int main(int argc, char *argv[]) { boost::thread startTcpCgi(attrs, StartCgiServer); startTcpCgi.detach(); - // //启动CMT server - // boost::thread startTcpCmt(attrs, StartCMTServer); - // startTcpCmt.detach(); sleep(5); uart_inst::instance().ZigbeeParameterConfig(); @@ -141,6 +138,10 @@ int main(int argc, char *argv[]) { zlog_error(zbt, "(this usually indicates a compiler bug - try recompiling\nwithout optimizations, and enable '-DLZO_DEBUG' for diagnostics)"); } + //启动CMT server + boost::thread startTcpCmt(attrs, StartCMTServer); + startTcpCmt.detach(); + int fd = OpenWatchDog(); int count = 0; while (GlobalConfig::QuitFlag_G) { diff --git a/threadfunc/thread_func.cpp b/threadfunc/thread_func.cpp index 8496e14..5ba90bf 100644 --- a/threadfunc/thread_func.cpp +++ b/threadfunc/thread_func.cpp @@ -1,5 +1,6 @@ #include "thread_func.hpp" #include +#include #include #include #include @@ -21,7 +22,6 @@ #include "utility/search_dev.hpp" #include "localserver/local_server.hpp" #include "localserver/cmt_server.hpp" -#include extern zlog_category_t *zct; @@ -31,6 +31,8 @@ static std::string serverPort; Dial dial; static int clean_memory = 0; +std::unique_ptr g_mgr_server; + void StartCgiServer() { zlog_info(zbt, "start deal cgi"); @@ -40,8 +42,8 @@ void StartCgiServer() { } } -std::unique_ptr g_mgr_server; void StartCMTServer() { + sleep(2); boost::asio::io_service io_service; g_mgr_server = std::make_unique(io_service, 10000); io_service.run(); } @@ -418,4 +420,4 @@ void DiskSpaceCheck() { } sleep(30); } -} \ No newline at end of file +}