#include "util.h" std::shared_ptr get_logger(const std::string& mark, const std::string& log_file) { auto file_sink = std::make_shared(log_file, 1024 * 50, 3); auto console_sink = std::make_shared(); file_sink->set_pattern("[%Y-%m-%d %H:%M:%S.%e][%l]: %v"); console_sink->set_pattern("[%Y-%m-%d %H:%M:%S.%e][%l]: %v"); std::vector sinks{file_sink, console_sink}; auto logger = std::make_shared(mark, sinks.begin(), sinks.end()); logger->set_level(spdlog::level::info); spdlog::register_logger(logger); return logger; } 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() { }