#ifndef __PROTOCOL__ #define __PROTOCOL__ #pragma once #pragma pack(push) #pragma pack(1) typedef struct _DATAHEADER_ { // 协议标识符; byte protocol; // 当前通信包的长度;// header长度+buf长度; unsigned int len; // 命令类型; byte cmd; }DataHeader, *pDataHeader; // 请求包 typedef struct _PACKAGE_ { DataHeader header; byte buf[4]; // 具体内容(指针地址); }Package; #pragma pack(pop) // 具体协议指令; enum ProtocolCMD { // 登录、登出; CMD_LOGIN = 0, CMD_LOGOUT = 1, // 设备; CMD_ADD_DEVICE = 2, CMD_DEL_DEVICE = 3, CMD_QUERY_DEVICES = 4, }; typedef struct __TPLOGIN__ { char szUserName[MAX_PATH]; char szPassword[MAX_PATH]; }TPLogin, *pTPLogin; typedef struct _REQUEST_JSON_ { int device_id; std::string device_name; std::string device_cmd; int device_timeout; }RequestJson; typedef struct _RESPONSE_JSON_ { int device_id; std::string device_name; std::string device_cmd_result; // 命令执行结果; }ResponseJson; #endif // __PROTOCOL__