⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 net_protocal.h

📁 这是江苏企业通讯协议(联通版本)的一个Release
💻 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 + -