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

📄 sgip.h

📁 1、自己编写的遵循SGIP1.1协议的短信客户端程序。仅供测试、学习。 2、该程序只实现了SGIP1.1协议的一部分。
💻 H
字号:
// Sgip.h: interface for the CSgip class.
//Author: lijinhu
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_SGIP_H__7141CDEE_92D2_4285_8C2A_99D8D3EFACC0__INCLUDED_)
#define AFX_SGIP_H__7141CDEE_92D2_4285_8C2A_99D8D3EFACC0__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "constants.h"

class CSgip  
{
public:
	CSgip();
	virtual ~CSgip();
//Attrib
public:
	t_BIND_DEF m_Bind_def;
	t_RESP_DEF m_Resp_def;
	t_DELIVER_SM_DEF m_Deliver_def;
	t_HEAD_DEF m_Head_def;
	t_SUBMIT_SM_DEF m_Submit_def;
	char m_szContent[4096];	//发送缓冲区
	char m_szBuffer[2048];	//接收缓冲区
protected:
	unsigned long m_ulSourceID;
	long m_lSPNumber;
	long m_lCorpID;
	CString m_strGatewayIP;
	CString m_strLoginName;
	CString m_strLoginPassword;
//	CString m_strChargeNumber;
	UINT	m_uPort;
//
public:
	void SetSourceID(unsigned long ulSourceID)	{	m_ulSourceID = ulSourceID;	}
	void SetSPNumber(long lSPNumber)	{	m_lSPNumber = lSPNumber;	}
	void SetCorpID(long lCorpID)		{	m_lCorpID = lCorpID;		}
	void SetGatewayIP(CString strIP)	{	m_strGatewayIP = strIP;		}
	void SetLoginName(CString str)		{	m_strLoginName = str;		}
	void SetLoginPassword(CString str)	{	m_strLoginPassword = str;	}
//	void SetChargeNumber(CString str)	{	m_strChargeNumber = str;	}
	void SetPort(UINT	uPort)	{	m_uPort = uPort;	}

	unsigned long GetSourceID()	{	return m_ulSourceID;	}
	long GetSPNumber()	{	return m_lSPNumber;	}
	long GetCorpID()	{	return m_lCorpID;	}
	CString GetGatewayIP()	{	return m_strGatewayIP;	}
	CString GetLoginName()	{	return m_strLoginName;	}
	CString GetLoginPassword()	{	return m_strLoginPassword;	}
//	CString GetChargeNumber()  {	return m_strChargeNumber; }
	UINT GetPort()	{	return m_uPort;	}

	int TransStr2UCS2(CString str);
protected:
	unsigned long GetTimeIDFromSequence()	{	return ntohl(m_Head_def.Sequence_number.ulTime);	}
	unsigned long GetCycleNoFromSequence()	{	return ntohl(m_Head_def.Sequence_number.ulCycle);	}
	unsigned long GetSourceIDFromSequence()	{	return ntohl(m_Head_def.Sequence_number.ulSourceID);	}

	unsigned long SetTimeItem();
	long SetHeadData(int iCommand, int iContentLen = 0, long lCycleNo = 0);
	int SetDeliverPDU(unsigned long ulSgipSerialNo, unsigned long ulSgipSerialTime, CString strUserNum, CString strContent, int iMsgCoding);
	int SetSubmitPDU(unsigned long ulSgipSerialNo,unsigned long ulSgipSerialTime, CString strChargeNum, int iUserCount, CString strUserNum, CString strContent, CString strExpireTime, CString strSheduleTime, int iReportFlag, int iMsgCoding);
	long SetUnbindPDU();
	long SetBindPDU();

	int TransStr2Bin(CString str);
	//十六进制-->十进制
	inline unsigned char CSgip::Hex2Dec( unsigned char C )
	{	return C <= '9' ? C - '0' : C - 'A' + 10;	}

	//十进制-->十六进制
	inline unsigned char CSgip::DecToHex( unsigned char B)
	{	return B < 10 ? '0' + B:'A' + B - 10;	}

	void TransUCS2(char* szBuff);
	CString TransBin2Str(char* szBuff, int iLen);
};

#endif // !defined(AFX_SGIP_H__7141CDEE_92D2_4285_8C2A_99D8D3EFACC0__INCLUDED_)

⌨️ 快捷键说明

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