240717班级,工业化控制系统,煤矿相关行业,昆仑系统
shy
2024-11-04 797ccaa3e601a042426b69b61483adfeafce09b1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
#ifndef COMMON_H
#define COMMON_H
 
#include <string.h>
 
enum TypeInfo{
 
    //自动升级
    VERSION_NUM_REQ,  // 版本号请求
    VERSION_NUM_RES,   // 版本号响应
    UPLOAD_FILE_REQ, // 上传文件的请求
    UPLOAD_FILE_RES, // 上传文件的响应
    VERSION_INFOENTRY_REQ,       // 版本信息录入请求
    VERSION_INFOENTRY_RES,       //版本信息录入响应
    VERSION_UPDATE_REQ, // 版本更新请求
    VERSION_UPDATE_RES, // 版本更新响应
    FILE_DOWNLOADS_REQ, // 版本更新文件下载请求
    FILE_DOWNLOADS_RES, // 版本更新文件下载响应
    DOWNLOAD_SUCCESSFULLY_RES,       // 更新文件下载成功的响应
 
        
};
 
struct Head{
    int type;
    int len;
};
 
//自动升级
struct VersionNumReq        // 版本号请求
{
    Head head;
    VersionNumReq() {
        head.type = VERSION_NUM_REQ;
        head.len = sizeof(VersionNumReq);
    }
};
 
struct VersionNumRes        // 版本号响应
{
    Head head;
    char versionId[64]; // 版本号
    VersionNumRes() {
        head.type = VERSION_NUM_RES;
        head.len = sizeof(VersionNumRes);
    }
};
 
// 文件传输
struct FileInfo
{
    char fileName[256];
    long long fileSize;
    char s_filepath[128];
    char content[0];
};
 
struct UploadFileReq        // 上传文件的请求
{
    Head head;
    FileInfo fileInfo;
    UploadFileReq() {
        head.type = UPLOAD_FILE_REQ;
        head.len = sizeof(UploadFileReq);
    }
};
 
struct UploadFileRes {      // 上传文件的响应
    Head head;
    bool state = false;
    char fileName[256];
    long long file_size;
    UploadFileRes()
    {
        head.type = UPLOAD_FILE_RES;
        head.len = sizeof(UploadFileRes);
    }
};
 
// 版本信息录入
// 请求
//struct VersionInfoEntryReq {
//    Head head;
//    char version_id[64]; // 版本号
//    char version_id_old[64]; // 上一个版本号
//    char s_filepath[32];    //服务器放最新版本的路径
//    char version_description[256]; //更新内容
//    char version_creattime[32]; // 更新时间
//    char filename[16][128];
//    long long filesize[16];
//    char c_filepath[16][128];
//    int fileNum;
 
//    VersionInfoEntryReq()
//    {
//        head.type = VERSIONINFOENTRY_REQ;
//        head.len = sizeof(VersionInfoEntryReq);
//    }
//};
 
struct VersionInfoEntryReq {
    Head head;
    char versionId[64]; // 版本号
    char versionIdOld[64]; // 上一个版本号
    int fileNum;
    char context[0];        //包含下载文件信息
 
    VersionInfoEntryReq()
    {
        head.type = VERSION_INFOENTRY_REQ;
        head.len = sizeof(VersionInfoEntryReq);
    }
};
 
// 版本信息录入响应
struct VersionInfoEntryRes {
    Head head;
    bool state = false;
    VersionInfoEntryRes()
    {
        head.type = VERSION_INFOENTRY_RES;
        head.len = sizeof(VersionInfoEntryRes);
    }
};
 
// 版本更新请求
struct VersionUpdateReq {
    Head head;
 
    char curVersionId[64]; // 版本号
    VersionUpdateReq()
    {
        head.type = VERSION_UPDATE_REQ;
        head.len = sizeof(VersionUpdateReq);
    }
};
 
// 版本更新响应
struct VersionUpdateRes {
    Head head;
    bool state = false;
    char versionId[64]; // 版本号
    char updateDate[32]; // 更新时间
    char versionDescription[1024]; //更新描述
 
    VersionUpdateRes()
    {
        head.type = VERSION_UPDATE_RES;
        head.len = sizeof(VersionUpdateRes);
    }
};
 
// 版本更新文件下载请求
struct FileDownloadsReq {
    Head head;
    char versionId[64]; // 版本号
    FileDownloadsReq()
    {
        head.type = FILE_DOWNLOADS_REQ;
        head.len = sizeof(FileDownloadsReq);
    }
};
 
// 版本更新文件下载响应
struct FileDownloadsRes {
    Head head;
    char versionId[64]; // 版本号
    char filename[128]; //文件名
    long long filesize; //文件大小
    char c_filepath[128];    //客户端放最新版本的本地路径
    int fileNum; // 文件数量
    long long allFileSize; // 文件总大小
    char content[0];
    FileDownloadsRes()
    {
        head.type = FILE_DOWNLOADS_RES;
        head.len = sizeof(FileDownloadsRes);
    }
};
 
// 更新文件下载成功的响应
struct DownloadSuccessfullyRes {
    Head head;
    bool state = false;
    char fileName[256];
    long long fileSize;
    DownloadSuccessfullyRes()
    {
        head.type = DOWNLOAD_SUCCESSFULLY_RES;
        head.len = sizeof(DownloadSuccessfullyRes);
    }
};
 
 
 
 
#endif // COMMON_H