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

📄 ~cngpbase.~h

📁 SMAL是short message abstract library的缩写,是由风起水流软件工作室(www.zealware.com)开发的一个支持短信网关系统开发的C++底层抽象接口库
💻 ~H
字号:
/**
*	cngpbase.h
*	
*	Short Message Abstractive Library.(SMAL)
*
*	Copyright 2003-2006	北京风起水流软件工作室
*	
*	http://www.zealware.com
*	
*	princetoad@gmail.com
*
*/

#ifndef _CNGP2_SMAL_H
#define _CNGP2_SMAL_H

class TCPSocket;

/// 底层CNGP协议实现类
/** 实现了底层的CNGP协议实现,实现Login,submit,deliver,ActiveTest消息和应答的组装和发送.
*/
class CCngp  
{
public:
	int m_nSocketTimeout;
	unsigned long m_nSeq;

public:
	CCngp();

	virtual ~CCngp();

	/** 递增流水号
	*/
	unsigned long IncreaseSeqId();

	/** 建立连接操作(Connect)
	*/
	int SendConnect(
		///< 通讯承载连接
		TCPSocket     * tsClient,
		///< 消息流水号
		unsigned long nSeqId,
		///< 登录用户名(最长8位)
		const char    * pchSrcAddr,
		///< 登录口令(最长15位)
		const char    * pchPwd,			
		///< 登录模式
		unsigned char uchLoginMode,
		///< 版本号
		unsigned char uchVersion
	);

	/** 发送连接应答(loginresp)
	*/
	int SendConnectResp(
		TCPSocket     * tsClient,
		unsigned long nSeqId,
		unsigned long nStatus,
		const char    * pchAuthServer,
		unsigned char uchVersion
		);

	/** 拆除连接操作Terminate)
	*/
	int SendTerminate(
		TCPSocket     * tsClient, 
		unsigned long nSeqId
		);

	/** 提交短信操作(Submit)
	*/
	int SendSubmit(
		TCPSocket     * tsClient, 
		unsigned long nSeqId,
		const char    * pchSPid,
		unsigned char uchSubType, 
		unsigned char uchNeedReport,
		unsigned char uchPriority, 
		const char    * pchServiceID, 
		const char    * pchFeeType,
		unsigned char uchFeeUserType, 
		const char    * pchFeeCode, 
		unsigned char uchMsgFmt,
		const char    * pchValidTime, 
		const char    * pchAtTime, 
		const char    * pchSrcTermID,
		const char    * pchChargeTermID, 
		unsigned char uchDstTermCount, 
		const char    * pchDstTermID,
		unsigned char uchMsgLen, 
		const char    * pchMsgContent, 
		CNGP_TLV_PROTOCOLID *pid
		);

	int SendDeliver(
		TCPSocket	  * tsClient, 
		unsigned long seqid,
		// 10
		const char    * msgid,
		unsigned char isreport, 
		unsigned char msgfmt,
		// 14
		const char    * recvtime, 
		// 21
		const char    * srctermid,
		// 21
		const char    * desttermid, 
		unsigned char msglength, 
		const char    * msgcontent, 
		CNGP_TLV_PROTOCOLID * pid
		);

	/** 送交短信应答(Deliver_Resp)
	*/
	int SendDeliverResp(
		TCPSocket     * tsClient, 
		unsigned long nSeqId, 
		const char    * pchMsgID,
		unsigned long nStatus
		);

	/** 送交短信应答(Submit_Resp)
	*/
	int SendSubmitResp(
		TCPSocket     * tsClient, 
		unsigned long nSeqId, 
		const char    * pchMsgID,
		unsigned long nStatus
		);

	/** 连接活动测试
	*/
	int SendActiveTest(
		TCPSocket     * tsClient, 
		unsigned long nSeqId
		);

	/** 发送拆除连接应答(Terminate_Response)包
	*/
	int SendTerminateResp(
		TCPSocket     * tsClient, 
		unsigned long nSeqId
		);

	/** 发送活动连接测试应答(Active_Test_Response)包
	*/
	int SendActiveTestResp(
		TCPSocket     * tsClient, 
		unsigned long nSeqId
		);
};

#endif

⌨️ 快捷键说明

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