📄 net_protocal.h
字号:
#if !defined _NET_PROTOCAL_H
#define _NET_PROTOCAL_H
#pragma once
#include "string.h"//C++标准字符串库
#include "utility.h"
//typedef unsigned char char;
#include "stdafx.h"
#include "SMS.h"
using namespace std;
namespace EMSP2_0{//联通企信通2.0版本
/*
定义版本1.0 betea,对于协议中定义的String类型定义为定长字符数组
在下一个版本中进行改进
*/
/*
消息 Command_ID定义
*/
using namespace SMS;
using namespace std;
const unsigned short C_LOGIN=0x0001;//登陆
const unsigned short C_LOGIN_RESP=0x1001;//登陆应答
const unsigned short C_LOGOFF=0x0003;//断开连接
const unsigned short C_NOOP=0x0004;//保持连接
const unsigned short C_NOOP_RESP=0x1004;//保持连接应答
const unsigned short C_SUBMIT=0xa001;//发送端消息
const unsigned short C_SUBMIT_RESP=0xb001;//发送短消息应答
const unsigned short S_DELIVER=0xa002;//接收短消息
const unsigned short S_DELIVER_RESP=0xb002;//接收短消息应答
const unsigned short S_REPORT=0xa003;//接收短消息报告
const unsigned short S_REPORT_RESP=0xb003;//接收短消息报告应答
/*
//联通企信通消息头文件
*/
struct MsgHead{
unsigned short Total_length;//消息总长度,包括消息头本身的长度和消息体的长度
unsigned short Command_ID;//命令或者相应类型
char Crypt;//是否加密,缺省为未加密
unsigned int Seqnum;//消息序列号,在短信息生命周期内不能重复
unsigned int UserNo;//用户号,系统分配的用户号码,系统内部产生,在登陆时写0,登陆成功 回。
};
/*********************************************************************************/
//以下为联通企信通2.0版本的消息体定义
struct MB_LOGIN {//登陆消息体
char ConnectType;//连接类型 0:UDP;1:TCP Submit 连接;2:TCP的Deliver连接
char LoginType;//登陆类型在2.0版本中恒定为0,代表企业客户
unsigned int CorpNo;//企业接入号码;
string UserID;//用户名
string Password;//密码;
};
/*********************************************************************************/
struct MB_LOGIN_RESP {//登陆返回消息体
char Result;//登陆返回值,0:正确,>0:失败,其他错误
char ConnectType;//连接类型 0:UDP;1:TCP Submit 连接;2:TCP的Deliver连接
char LoginType;//登陆类型在2.0版本中恒定为0,代表企业客户
string Reserved1;//保留
unsigned int UserNO;//返回系统分配的用户号(由服务器分配)
string SessionID;//会话ID 当Result>0时为空
string SessionKey;//当加密串,当Result>0时为空
};
/*********************************************************************************/
struct MB_LOGOFF {//登陆注销消息体
public:
string SessionID;//会话ID
};
/*********************************************************************************/
struct MB_NOOP {//保持连接消息体
string SessionID;//会话ID
};
/*********************************************************************************/
struct MB_NOOP_RESP {//保持连接应答
char Result;//0:正确,>0错误需要重新登陆
string SessionID;//会话ID
};
/*********************************************************************************/
struct MB_SUBMIT //发送短消息的消息体
{
string SessionID;//会话ID
unsigned int ClientSeq1;//客户端序列号1,填写发送时间
unsigned int ClientSeq2;//客户端序列号2,填写同一时间发送序列号
char SendType;//发送类型 0:普通,1:定时发送
string ScheduleTime;//定时发送时间,当SendType=0时,为空
char Type;//0:短消息.其他值,保留未定义
char UserType;//1:企业客户,其他保留
string Caller;//主叫手机号码
string Called;//被叫手机号码
string chargeNumber;//付费手机号码
char ReportFlag;//是否需要报告
char Priority;//发送优先级:0-3
char TP_pid;//GSM协议。参考GSM0.340 -9.2.3.23,仅使用一位,普通短消息为0;
char TP_udhi;//GSM协议。参考GSM0.340 -9.2.3.23,仅使用一位,普通短消息为0;
char MsgCoding;//编码格式
/*
编码格式说明
0:纯ASCII字符串
3:写卡操作
4:二进制编码
8:UCS2编码
15:GBK编码
*/
char MsgLen;//消息长度,MsgCoding 为0时<=160,其他<=140
char MsgContent[160];//消息内容,定长
};
/*********************************************************************************/
struct MB_SUBMIT_RESP {//发送返回消息
char Result;//0:被服务器接受,>0,其他错误。
public:
};
/*********************************************************************************/
struct MB_DELIVER {//接受消息消息体
string Caller;//主叫号码
string Called;//被叫号码
char TP_pid;//GSM 类型,定义同SUBMIT
char TP_udhi;//GSM 类型,定义同SUBMIT
char MsgCoding;//编码类型,定义同SUBMIT
char MsgLen;//消息长度,定义同SUBMIT
char MsgContent[160];//消息内容,定长
};
/*********************************************************************************/
struct MB_DELIVER_RESP {//接收消息返回值
char Result;//0:成功,其他失败
public:
};
struct MB_REPORT {//消息接收消息体
unsigned int ClientSeq1;//客户端序列号,定义同Submit
unsigned int ClientSeq2;//客户端序列号,定义同Submit
string UserNumber;//接收号码
char State;//状态
char ErrCode;//错误代码
};
/*********************************************************************************/
struct S_REPORT_RESP {//接收回执
char Result;//0:成功,其他失败
};
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -