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

📄 api_readme.doc

📁 中兴SMGP通信协议接口,API函数,编写该通信协议下的程序可调有其中的函数
💻 DOC
字号:
				深讯固网网关api函数说明
																				2001-12-25
							杨逸天		
一、使用说明
    本接口遵循SMGPv1.0 协议标准,以提供消息发送和接收函数的方式, 向 ICP 提供
同固网网关进行信息交换的实现途径.客户可以依据具体需要,利用所提供的函数实现不同的连接方式(长连接和短连接)以及何时自动建立和中断连接, 除此之外, API 作为应用的接口,对 SMGP 描述的其它功能,象流量控制 重发机制和并发处理都不预干预,需要应用程序自身处理。

二、函数说明
1、int InitSMGPAPI (char inifile[100]);
API 初始化函数
选项
IcpId:		网关分配的给sp的用户名	,最长10位
IcpShareKey:	sp用户密码,最长10位
gatewayip:	sp连接网关的ip地址
mtport:	网关的mt连接端口
moport:	网关用于与sp连接的mo端口
socktimeout:	socket读写超时时间,单位秒
成功返回0,失败返回1

2、int login (int type);
网关连接函数
type: 	0 建立mt连接
	1 建立mo连接
成功返回0,失败返回1

3、int SMGPSendSingle (int needreply,int msglevel,char serviceid[11],int msgformat,char feetype[3],
		    char feecode[7],char validtime[18],char attime[18],char chargetermid[22],
		    char desttermid[22],char replypath[22],int msglen,char *msgcontent,
		    char msgid[11],int *errorcode);
发送单条mt函数
needreply:	1 需要状态报告
		其它 不需要状态报告
msglevel:	信息级别0-9,优先级逐渐增高
serviceid:	业务类型
msgformat:	信息格式,0 ASCII,3 短信写卡操作,4 二进制短信,8 ucs2编码,15 gb码
feetype:	资费类别,01免费,02按条,03包月
feecode:	资费代码,单位分
validtime:	存活有效期,绝对时间
attime:		定时发送时间,绝对时间
格式为:YYMMDDHHMMSStnnd
YYMMDDHHMMSS:年月日时分秒
t:十分之一秒
nn:时区,相差一刻钟为一。北京时间为4*8=32
d:超前或是迟延,北京时间超前,填"+"
如2002年3月11日10点30分0秒发送填为"20020311103000032+"
存活时间的填写相同
chargetermid:	计费号码
destermid:	接受业务号码
replypath:	用户回复号码,原终端号码
msglen:		消息长度,最长160
msgcontent:	消息内容,参见icp开发指南
msgid:		由网关返回的短信标识
成功返回0,失败返回1

4、int SMGPSendBatch  (int needreply,int msglevel,char serviceid[11],int msgformat,char feetype[3],
		    char feecode[7],char validtime[18],char attime[18],char chargetermid[22],
		    char desttermidfile[100],char msgfile[100],char msgidfile[100]);
群发短信函数
destermidfile:	保存所有话机号码的文件名
msgfile:	保存短信内容的文件名
msgidfile:	保存所有短信的返回msgid和errcode的文件名
成功返回0,失败返回1
	    
5、int GetSendBatchResp (char msgidfile[100],int pos,struct SendBatchResp *sendbatchresp);
msgidfile:	保存所有短信的返回msgid和errcode的文件名
pos:		短信位置,〉=0
sendbathresp:	用户保存结果的SendBatchResp结构指针
成功返回0,失败返回1

6、int SMGPDeliver(int Ntimeout,struct deliverA& p_deliver);
Ntimeout:	等待时间,单位秒;
结构deliverA说明:
struct deliverA{
	CString		msgid;  //网关返回msgid
	UINT8		isreport;  //是否需要状态报告,0不需要,1需要
	UINT8		msgformat; //消息格式,0 ASCII,3 短信写卡操作,4 二进制短信,8 ucs2编码,15 gb码
	CString		recvtime;   //短信接收时间,格式:yyyymmddhhmiss,例如20010301200000
	CString		srctermid;  //源终端号码
	CString		desttermid;  //目的终端号码
	UINT8		msglength;  //消息内容长度
	CString		msgcontent;  //消息内容
};
成功返回0,失败返回1

7、int SMGPActiveTest(int *errcode);
errcode:	错误代码
成功返回0,失败返回1

8、int logout(int type);
type:断开的连接类型,0 mt,1 mo
成功返回0,失败返回1

三、程序基本流程	
发送短信		
	InitSMGPAPI()		
	login(0)  	建立mt连接			
	SMGPSendSingle()或者SMGPSendBatch()
	logout(0)
接收短信
	InitSMGPAPI()
	login(1)	建立mo连接
	for(;;)	
	{			
		SMGPDeliver()		接收MO并向网关发送应答
		接收MO后可以通过p_deliver的isreport字段判断分别对普通MO请求和状态报告进行不同的操作。
		如是状态报告,字段status返回相应短信的状态,参照短信状态表。					
	}
	logout(1)				

⌨️ 快捷键说明

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