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

📄 cmpp.h

📁 河南移动的cmpp的基础类
💻 H
字号:
#pragma once
#include <Winsock2.h>

/**********cmpp***tcp/ip***data define*/
class CMPP_Msg
{
public:
	static const DWORD CONNECT = 0x00000001;//请求连接

	static const DWORD CONNECT_RESP = 0x80000001;//请求连接响应(一说应答)

	static const DWORD TERMINATE = 0x00000002;//终止连接

	static const DWORD TERMINATE_RESP = 0x80000002;//终止连接响应(一说应答)

	static const DWORD SUBMIT = 0x00000004;//提交短信

	static const DWORD SUBMIT_RESP = 0x80000004;//提交短信响应(一说应答)

	static const DWORD DELIVER = 0x00000005;//短信下发

	static const DWORD DELIVER_RESP = 0x80000005;//短信下发响应(一说应答)

	static const DWORD QUERY = 0x00000006;//发送短信状态查询

	static const DWORD QUERY_RESP = 0x80000006;//发送短信状态查询响应(一说应答)

	static const DWORD CANCEL = 0x00000007;//删除短信

	static const DWORD CANCEL_RESP = 0x80000007;//删除短信响应(一说应答)

	static const DWORD ACTIVE_TEST = 0x00000008;//激活测试

	static const DWORD ACTIVE_TEST_RESP = 0x80000008;//激活测试响应(一说应答)
};

//cmpp message has two paties,head and context;
// this class is the description of message head
class CMPP_Head
{
public:
	CMPP_Head(void);
	~CMPP_Head(void);
	static int UNICOD_To_ASCII(LPCWSTR pSource,int len,char* pBuffer);
	static int ASCII_To_UNICOD(LPCSTR pSource ,char * pBuffer);
	static int UCS2_To_ASCII(LPCWSTR pSource,int len,char * pBuffer);
public:
	DWORD TotalLength;
	DWORD CommandID;
	DWORD SequenceID;
	static int GetMsgID(char * pMsgID);
};

// connect the  cmpp server ,connect after successful authentication
class CMPP_Connect :public CMPP_Head
{
public:
	CMPP_Connect(void);
	~CMPP_Connect(void);
public:
	char SourceAddr[6];
	char Authenticator[16];
	char Version;
	DWORD Timestamp;
};

//the response message of the connect message
class CMPP_ConnectResp :public CMPP_Head
{
public:
	CMPP_ConnectResp(void);
	~CMPP_ConnectResp(void);
public:
	char Status;
	char Authenticator[16];
	char Version;
};

//the message of terminate
class CMPP_Terminate:public CMPP_Head
{
public:
	CMPP_Terminate(void);
	~CMPP_Terminate(void);
};

//the response message of terminate
class CMPP_TerminateResp:public CMPP_Head
{
public:
	CMPP_TerminateResp(void);
	~CMPP_TerminateResp(void);
};

//the message of active_test
class CMPP_ActiveTest : public CMPP_Head
{
public:
	CMPP_ActiveTest(void);
	~CMPP_ActiveTest(void);
};

//the response of the activetest
class CMPP_ActiveTestResp: public CMPP_Head
{
public:
	CMPP_ActiveTestResp(void);
	~CMPP_ActiveTestResp(void);
};

//the message of submit
class CMPP_Submit : public CMPP_Head
{
public:
	CMPP_Submit(void);
	~CMPP_Submit(void);
public:
	char Msg_id[8];
	char Pk_total;
	char Pk_number;
	char Registered_Delivery;
	char Msg_level;
	char Service_id[10];
	char Fee_UserType;//cmpp 2.0
	char Fee_terminal_id[21];
	char TP_pid;
	char TP_udhi;
	char Msg_Fmt;
	char Msg_src[6];
	char FeeType[2];
	char FeeCode[6];
	char Valid_Time[17];
	char At_Time[17];
	char Src_terminal_id[21];
	char DestUsr_tl;
	char Dest_terminal_id[21];
	char Msg_Length;
};

//the response of the submit
class CMPP_SubmitResp : public CMPP_Head
{
public: 
	CMPP_SubmitResp(void);
	~CMPP_SubmitResp(void);
public:
	char Msg_id[8];
	char Result;
};

//receive message
#define CMPP_DELIVER_HEAD_LENGTH 77
class CMPP_Deliver : public CMPP_Head
{
public:
	CMPP_Deliver(void);
	~CMPP_Deliver(void);
public:
	char Msg_Id[8];
	char Destnation_id[21];
	char Service_id[10];
	char TP_pid;
	char TP_udhi;
	char Msg_Fmt;
	char Srcterminal_id[21];
	char Registered_Delivery;
	char Msg_Length;
	char Msg_Content[512];
	char Reserve[8];

};

//the response of the message delivery
class CMPP_DeliverResp :public CMPP_Head
{
public:
	CMPP_DeliverResp(void);
	~CMPP_DeliverResp(void);
public:
	char Msg_Id[8];
	char Result;
};

class DeliverReport 
{
public:
	char Msg_Id[8];
	char Stat[7];
	char Submit_time[10];
	char Done_time[10];
	char Dest_terminal_Id[21];
	DWORD SMSC_sequence;
	DeliverReport()
	{
		ZeroMemory(this,sizeof(DeliverReport));
	}
};

class CMPP_Query:public CMPP_Head
{
public:
	char Time[8];
	char Query_Type;
	char Query_Code[10];
	char Reserver[8];

	CMPP_Query();
};

class CMPP_QueryResp:public CMPP_Head
{
public:
	char Time[8];
	char Query_Type;
	char Query_Code[10];
	DWORD MT_TLMSG;
	DWORD MT_Tlusr;
	DWORD MT_Scs;
	DWORD MT_WT;
	DWORD MT_FL;
	DWORD MO_Scs;
	DWORD MO_WT;
	DWORD MO_FL;

	CMPP_QueryResp();
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -