From 506ea67d3ec31f192ee7bc1f04fe732ca3416d96 Mon Sep 17 00:00:00 2001 From: taynpg Date: Wed, 11 Dec 2024 17:00:59 +0800 Subject: [PATCH] =?UTF-8?q?save=EF=BC=9A=E4=BF=9D=E5=AD=98=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ofen | 2 +- util/CMakeLists.txt | 1 + util/util.cpp | 40 +++++++++++++++++++++++++++++++++++++++- util/util.h | 25 +++++++++++++++++++++++++ 4 files changed, 66 insertions(+), 2 deletions(-) diff --git a/ofen b/ofen index 76c702c..79e086b 160000 --- a/ofen +++ b/ofen @@ -1 +1 @@ -Subproject commit 76c702cea8f4aa572d9c4319a5bb41d2ea969680 +Subproject commit 79e086bae5509753eff4dce5669b3a7f5eac525f diff --git a/util/CMakeLists.txt b/util/CMakeLists.txt index c5433ca..a3b5043 100644 --- a/util/CMakeLists.txt +++ b/util/CMakeLists.txt @@ -11,4 +11,5 @@ set(SOURCES util.h util.cpp ) add_library(trans_util STATIC ${SOURCES}) +target_link_libraries(trans_util PUBLIC Ofen) target_include_directories(trans_util PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) \ No newline at end of file diff --git a/util/util.cpp b/util/util.cpp index d789408..c6daf5e 100644 --- a/util/util.cpp +++ b/util/util.cpp @@ -11,4 +11,42 @@ std::shared_ptr get_logger(const std::string& mark, const std::s logger->set_level(spdlog::level::info); spdlog::register_logger(logger); return logger; -} \ No newline at end of file +} + +CTransProtocal::CTransProtocal() +{ +} + +CTransProtocal::~CTransProtocal() +{ +} + +/* +【 transm TCP 数据协议 】 + header 2 char: 0xFF 0xFE + type 2 char: + len 4 char: + data xxxxx: + tail 2 char: 0xFF 0xFF + */ +CFrameBuffer* CTransProtocal::parse(CMutBuffer& buffer) +{ + CFrameBuffer* result = nullptr; + char header[] = {0xFF, 0xFE}; + char tail[] = {0xFF, 0xFF}; + + int find = buffer.index_of(header, sizeof(header)); + if (find < 0) { + return result; + } + short int type = *(reinterpret_cast(buffer.get_data() + find)); + return result; +} + +CFrameBuffer::CFrameBuffer() +{ +} + +CFrameBuffer::~CFrameBuffer() +{ +} diff --git a/util/util.h b/util/util.h index 5a38464..0522134 100644 --- a/util/util.h +++ b/util/util.h @@ -3,6 +3,31 @@ #include #include #include +#include "of_util.h" +using namespace ofen; std::shared_ptr get_logger(const std::string& mark, const std::string& log_file); +class CFrameBuffer +{ +public: + CFrameBuffer(); + ~CFrameBuffer(); +}; + +/* +【 transm TCP 数据协议 】 + header 2 char: 0xFF 0xFE + type 2 char: + len 4 char: + data xxxxx: + tail 2 char: 0xFF 0xFF + */ +class CTransProtocal +{ +public: + CTransProtocal(); + ~CTransProtocal(); +public: + CFrameBuffer* parse(CMutBuffer& buffer); +}; #endif \ No newline at end of file