重新定义帧结构

main
hkc320 2024-09-03 16:27:43 +08:00
parent 30a0a72804
commit 33bb0bdf59
5 changed files with 76 additions and 9 deletions

View File

@ -89,7 +89,9 @@
<ClCompile Include="opmysql.cpp" /> <ClCompile Include="opmysql.cpp" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="frame_define.h" />
<ClInclude Include="iconv-utils.h" /> <ClInclude Include="iconv-utils.h" />
<ClInclude Include="kdefine.h" />
<ClInclude Include="mqtt_msg.h" /> <ClInclude Include="mqtt_msg.h" />
<ClInclude Include="openjson.h" /> <ClInclude Include="openjson.h" />
<ClInclude Include="opmysql.h" /> <ClInclude Include="opmysql.h" />

View File

@ -0,0 +1,23 @@
#pragma once
#pragma pack(1)
#include "kdefine.h"
NAMESPACE_BEGIN(HJ)
typedef enum tagFrameType : char
{
Frame_Request = 0, //请求帧
Frame_Response = 1, //返回帧
}FrameType;
typedef struct tagFrame
{
FrameType frame_type; //帧类型
unsigned int frame_len; //帧数据长度
char frame_content[1]; //帧的内容实际应为json字符串由json内容自解释
}MessageFrame;
NAMESPACE_END(HJ)
#pragma pack()

View File

@ -0,0 +1,41 @@
#ifndef __KDEFINE_INCLUDE__
#define __KDEFINE_INCLUDE__
#define K22_STR_EXP(__A) #__A
#define K22_STR(__A) K22_STR_EXP(__A)
#define K22_STRW_EXP(__A) L ## #__A
#define K22_STRW(__A) K22_STRW_EXP(__A)
#define K22_CMS_VERSION_MAJOR 1
#define K22_CMS_VERSION_MINOR 215
#define K22_CMS_VERSION_REVISION 0
#define K22_VERSION K22_STR(K22_CMS_VERSION_MAJOR) "." K22_STR(K22_CMS_VERSION_MINOR) "." K22_STR(K22_CMS_VERSION_REVISION) ""
#ifdef __cplusplus
# ifndef EXTERN_C
# define EXTERN_C extern "C"
# endif
# ifndef BEGIN_EXTERN_C
# define BEGIN_EXTERN_C extern "C" {
# endif
# ifndef END_EXTERN_C
# define END_EXTERN_C } // extern "C"
# endif
#else
# define EXTERN_C extern
# define BEGIN_EXTERN_C
# define END_EXTERN_C
#endif // __cplusplus
#define NAMESPACE_BEGIN(X) namespace X {
#define NAMESPACE_END(X) }
#define USING_NAMESPACE(X) using namespace X
#endif

View File

@ -15,6 +15,8 @@
#include <hv/hssl.h> #include <hv/hssl.h>
#include <zlib/zlib.h> #include <zlib/zlib.h>
#include "kdefine.h"
#include "mqtt_msg.h" #include "mqtt_msg.h"
#include "openjson.h" #include "openjson.h"
#include "opmysql.h" #include "opmysql.h"
@ -23,12 +25,6 @@
#define TEST_UNPACK 1 #define TEST_UNPACK 1
#define K22_STR_EXP(__A) #__A
#define K22_STR(__A) K22_STR_EXP(__A)
#define K22_CMS_VERSION_MAJOR 1
#define K22_CMS_VERSION_MINOR 215
#define K22_CMS_VERSION_REVISION 0
#define K22_VERSION K22_STR(K22_CMS_VERSION_MAJOR) "." K22_STR(K22_CMS_VERSION_MINOR) "." K22_STR(K22_CMS_VERSION_REVISION) ""
#define CHUNK 16384 #define CHUNK 16384

View File

@ -1,10 +1,11 @@
#pragma once #pragma once
#pragma pack(1) #pragma pack(1)
typedef enum tagTopic : char typedef enum tagTopic : char
{ {
GateWayPublicTopic_Server = 0, GateWayPublicTopic_Server = 0,
ServerPublicTopic_GateWay = 1, ServerPublicTopic_GateWay = 1,
}MQTT_Topic; }FrameType, MQTT_Topic;
typedef enum tagDataType : char typedef enum tagDataType : char
{ {
@ -15,8 +16,10 @@ typedef enum tagDataType : char
DT_GATEWAY_CTRLDATA = 4, DT_GATEWAY_CTRLDATA = 4,
DT_WEB_CTRL = 5, DT_WEB_CTRL = 5,
DT_WEB_WRITE = 6, DT_WEB_WRITE = 6,
DT_GATEWAY_WRITE = 7 DT_GATEWAY_WRITE = 7,
}MQTT_DataType; FRAME_REQUEST = 8,
FRAME_RESPONSE = 9,
}FrameDataType,MQTT_DataType;
/* /*
{ {
@ -47,4 +50,6 @@ typedef struct tagMsgData
char content_data[1]; //MQTT包字符串的内容 char content_data[1]; //MQTT包字符串的内容
}MessageData; }MessageData;
#pragma pack() #pragma pack()