📄 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 + -