📄 opcode.h
字号:
/**********************************************************
定义通信封包协议
作者:颜永华
***********************************************************/
#ifndef _OPCODE_H
#define _OPCODE_H
typedef WORD OPCODE;
#define _OPCODE(BUFF) (*((OPCODE *)BUFF))
#define _PACKET_LEN(BUFF) (*((WORD *)(BUFF+2)))
///////////////////////////////////////////////////////////////
//客户端封包定义
typedef struct _firstRegPacket //首次注册
{
OPCODE wCode;
#define CLIENT_FIRST_REG 0X0B01
WORD wLen;
char customerName[11];
char customerPwd[17];
char accountId[19];
char accountPwd[17];
char customerRealName[11];
char customerRegBankIP[17];
char customerPhone[16];
char customerAddr[21];
char customerEmail[21];
}FIRST_REG_PACKET,*LPFIRST_REG_PACKET;
typedef struct _loginPacket //登陆
{
OPCODE wCode;
#define CLIENT_LOGIN 0X0B02
WORD wLen;
char customerName[11];
char customerPwd[17];
char customer_login_ip[17];
}LOGIN_PACKET,*LPLOGIN_PACKET;
typedef struct _inmoneyPacket //存款
{
OPCODE wCode;
#define CLIENT_INMONEY 0X1B04
WORD wLen;
char accountId[19];
char accountPwd[17];
char moneyNum[10];
char opBankIP[17];
}INMONEY_PACKET,*LPINMONEY_PACKET;
typedef struct _outmoneyPacket //取款
{
OPCODE wCode;
#define CLIENT_OUTMONEY 0X1B05
WORD wLen;
char accountId[19];
char accountPwd[17];
char moneyNum[10];
char opBankIP[17];
}OUTMONEY_PACKET,*LPOUTMONEY_PACKET;
typedef struct _transferPacket //转帐
{
OPCODE wCode;
#define CLIENT_TRANSFER 0X1B06
WORD wLen;
char accountId[19];
char accountPwd[17];
char moneyNum[10];
char opBankIP[17];
char inAccountId[19];
}TRANSFER_MONEY_PACKET,*LPTRANSFER_MONEY_PACKET;
typedef struct _findReq //查询余额请求
{
OPCODE wCode;
#define CLIENT_FIND_REQ 0X1B18
WORD wLen;
char accountId[19];
char accountPwd[17];
}FIND_BALANCE_REQ,*LPFIND_BALANCE_REQ;
typedef struct _exitpacket //退出
{
OPCODE wCode;
#define CLIENT_EXIT 0X0E00
WORD wLen;
char customerName[11];
}EXIT_PACKET,*LPEXIT_PACKET;
typedef struct _reqshow//登陆成功请求显示
{
OPCODE wCode;
#define CLIENT_SHOW_INFO 0X0B03
WORD wLen;
char customerName[11];
}REQSHOW,*LPREQSHOW_PACKET;
typedef struct _notifyPassword //修改密码
{
OPCODE wCode;
#define CLIENT_NOTIFY_PASSWORD 0X0C04
WORD wLen;
char accountId[19];
char accountOldPwd[17];
char accountNewPwd[17];
}NOTIFY_PASSWORD_PACKET,*LPNOTIFY_PASSWORD_PACKET;
////////////////////////////////////////////////////////
//服务器返回封包定义
typedef struct showinfopacket //登陆成功显示
{
OPCODE wCode;
#define SERVER_SHOW_INFO 0X0A03
//#define CLIENT_SHOW_INFO 0X0B03
WORD wLen;
char RealName[11];
char Phone[16];
char Addr[21];
char Email[21];
int nScore;
int nGrade;
char RegBankIP[17];
}SHOW_INFO_PACKET,*LPSHOW_INFO_PACKET;
typedef struct _findPacket // 查询余额封包
{
OPCODE wCode;
#define SERVER_FIND 0X1A1B
WORD wLen;
char accountId[19];
char cBalance[11];
}FIND_PACKET,*LPFIND_PACKET;
typedef struct _RetFlagPacket //各种操作状态的返回信息
{
OPCODE wCode;
#define SERVER_FIRST_REG 0X0A01
#define SERVER_LOGIN 0X0A02
#define SERVER_SHOW_INFO 0X0A03
#define SERVER_INMONEY 0X0A04
#define SERVER_OUTMONEY 0X0A05
#define SERVER_TRANSFER 0X0A06
#define SERVER_FIND_ERR 0X0A0E
#define SERVER_NOTIFY_PASSWORD 0X0A0D
WORD wLen;
BYTE bFlag;
#define FLAG_SUCCEED 0X11 //成功
#define FLAG_FAILED 0X00 //失败
#define FLAG_NOBANK 0X01 //没有银行
#define FLAG_YESUSER 0X02 //已经有用户名
#define FLAG_YESACC 0X04 //已经有帐号
#define FLAG_ACCPWD_ERR 0X05 //帐号密码错误
#define FLAG_MONEY_ERR 0X06 //余额不足
}RETFLAG,*LPRETFLAG;
///////////////////////////////////////////////////
//客户端状态管理
typedef struct _clientStatus
{
char cUserName[11];
}CLIENT_STATUS,*LPCLIENT_STATUS;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -