当前位置:文档之家› 终端通信协议

终端通信协议

终端通信协议

一、消息格式

1.消息头格式

typedef struct _MSG_HEADER{

unsigned short usCmd; //消息命令

unsigned short usVersion; //协议版本

unsigned long ulSessionID; //注册成功后由Server返回,以后的会话都需要携带unsigned long ulSerial; //由发起消息方生成,递增,返回相同的值

unsigned long ulLength; //消息体长度

unsigned short usStatus; //成功返回0,其他值请查错误码

unsigned short usReserved; //保留字

}MSG_HEADER;

2.消息体

通信协议消息是:消息头+消息体;

每个消息请求都必须有一个应答消息,如果没有应答消息或者应答消息表示命令操作失败;

二、消息命令

#define MSG_LOGIN_REQ 0x0001 //终端登录请求

#define MSG_LOGIN_RESP 0x8001 //登录应答

#define MSG_LOGOFF_REQ 0x0002 //终端登出请求

#define MSG_LOGOFF_RESP 0x8002 //登出应答

#define MSG_KEEPALIVE_REQ 0x0003 //终端心跳请求

#define MSG_KEEPALIVE_RESP 0x8003 //心跳应答

#define MSG_GET_BASE_REQ 0x0004 //获取基本参数请求

#define MSG_GET_BASE_RESP 0x8004 //获取基本参数应答

#define MSG_SET_BASE_REQ 0x0005 //设置基本参数请求

#define MSG_SET_BASE_RESP 0x8005 //设置基本参数应答

#define MSG_SET_SYS_REQ 0x0006 //设置系统参数请求

#define MSG_SET_SYS_RESP 0x8006 //设置系统参数应答

#define MSG_GET_ANALYSIS_REQ 0x0007 //获取分析参数请求

#define MSG_GET_ANALYSIS_RESP 0x8007 //获取分析参数应答

#define MSG_SET_ANALYSIS_REQ 0x0008 //设置分析参数请求

#define MSG_SET_ANALYSIS_RESP 0x8008 //设置分析参数应答

#define MSG_GET_CHN_REQ 0x0009 //获取通道参数请求

#define MSG_GET_CHN_RESP 0x8009 //获取通道参数应答

#define MSG_SET_CHN_REQ 0x0010 //设置通道参数请求

#define MSG_SET_CHN_RESP 0x8010 //设置通道参数应答

#define MSG_GET_NET_REQ 0x0011 //获取网络参数请求

#define MSG_GET_NET_RESP 0x8011 //获取网络参数应答

#define MSG_SET_NET_REQ 0x0012 //设置网络参数请求

#define MSG_SET_NET_RESP 0x8012 //设置网络参数应答

#define MSG_GET_PT_REQ 0x0013 //获取平台参数请求

#define MSG_GET_PT_RESP 0x8013 //获取平台参数应答

#define MSG_SET_PT_REQ 0x0014 //设置平台参数请求

#define MSG_SET_PT_RESP 0x8014 //设置平台参数应答

三、消息体说明

1.登录请求

客户端向设备发送登录请求的消息,消息内容如下:

typedef struct _stLoginRequest{

unsigned int dwDeviceID; //该设备ID

unsigned char ucChanNum; //该设备的视频通道数

unsigned char ucDevType; //设备类型(客户端)

unsigned short usReserved; //保留

char szUserName[8]; //登录用户名

char szPassword[8]; //登录密码

}stLoginRequest;

2.登录响应

当设备收到客户端的登录请求后,响应该设备的登录结果;消息内容如下:typedef struct _stGeneralResp{

unsigned short usResult; //结果(0/其他: 成功/失败原因)

unsigned short usReserved; //保留

} stGeneralResp;

3.登出请求

客户端登出时,应向设备发送一个登出请求,消息体为空;

4.登出响应

设备收到客户端登出,对客户端进行登出响应;

5.心跳请求消息

客户端登录设备成功后,在30s之内须向设备发送心跳请求;(设备收到心跳请求后,立即发送心跳响应,如果设备在规定的时间暂定为30s没有收到心跳响应,则认为该链路出现故障,断开此链路。)消息内容为空;

6.心跳响应消息

设备收到客户端心跳请求后,立即发送心跳响应;消息内容为空;

7.获取基本参数

服务器向设备发送获取基本参数请求;消息内容为空;

8.获取基本参数响应

typedef struct _stBaseParamResp{

unsigned short nResult; //结果(0:成功,1:失败)

unsigned short nReserved; //保留

BASEPARAM stBaseParam; //基本参数

} stBaseParamResp;

typedef struct _stBaseParam{

char dwDeviceID[7];

char byFormat;

char szDevName[24];

}BASEPARAM;

9.设置基本参数

服务器向设备发送设置基本参数请求;消息内容为BASEPARAM结构;

8.设置基本参数响应

设备对服务器发送的设置基本参数请求发送响应;消息内容stGeneralResp结构;

相关主题