2022年2022年接口使用说明文档 .pdf

上传人:C****o 文档编号:39672572 上传时间:2022-09-07 格式:PDF 页数:7 大小:82.65KB
返回 下载 相关 举报
2022年2022年接口使用说明文档 .pdf_第1页
第1页 / 共7页
2022年2022年接口使用说明文档 .pdf_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《2022年2022年接口使用说明文档 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年接口使用说明文档 .pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、中国移动短信网关SP端接口使用手册China Mobile Shot Message Gateway Interface for SP Manual 作者:沈岗日期:2004 年 1 月版本:V1.2 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 7 页 -一、CMSMIF.CMPPApp 简要说明:该类采用CMPP 协议(V2.0)实现了 SP端与移动短信网关的连接处理。本类中,采用长连接方式与ISMG 通讯。通信双方以客户-服务器方式建立TCP 连接,用于双方信息的相互提交。当信道上没有数据传输时,通信双方应每隔时间C 发送链路检测包以维持此连接,当链路检测包发出超过时间T

2、 后未收到响应,立即再发送链路检测包,再连续发送N-1 次后仍未得到响应则断开此连接。参数C、T、N 可通过属性配置。消息发送时采用并发方式,即发送一条消息不等待网关回复确认,继续向网关发送短信,这样发送消息速度非常快,完全取决于网关的处理速度及网络速度。为避免消息丢失,同时采用了滑动窗口流量控制,窗口大小可通过属性设置。消息接收、网络断开等采用事件触发方式,不需应用程序轮询,在此接口基础之上编程方便。类中运用了多线程技术,如一条线程处理发送网络包,而另一条线程处理从网关上接收网络包,其他还有一些线程处理检测包、网络连接情况监测等,使程序思路明确、执行效率很高、运行非常稳定。(一)属性1.Ac

3、tiveInterval 说明:检测包发送时间间隔,单位:毫秒。默认值为120000,即 120 秒。为上述类说明中的C 参数。2.MaxNetworkPackSize 说明:与ISMG 通讯时最大网络包大小,单位:字节。默认值为512Byte。3.MaxRetryTimes 说明:网络超时最大重发次数,单位:次。默认值为3 次。为类说明中的N。4.OverTime 说明:网络包发送超时时间,单位:毫秒,超过此值还未收到回复则重发。默认值为 60000,即 60 秒。为类说明中的T。5.QueueLength 说明:网络队列大小,单位:个,默认值为20。为类说明中的滑动窗口大小,以控制发送流量

4、。(二)方法1.ConnectToIsmg 方法说明:连接到远程短信网关ISMG 上,只有连接到远程短信网关上,才可进行短信收发操作。在本操作中,自动初始化本地Socket,以连接到指定IP 服务器的指定端口上。声 明 原 型:intConnectToIsmg(stringServerIP,intPort,stringSP_ID,string Secret,string SN)参数说明:ServerIP:远程短信网关服务器的IP 地址,如211.138.200.51 Port:远程短信网关服务器的端口号,如7890 SP_ID:企业服务代码名师资料总结-精品资料欢迎下载-名师精心整理-第 2

5、页,共 7 页 -Secret:连接认证码,由中国移动与源地址实体事先商定。SN:本软件的使用许可序列号。无效的序列号仅可在2004 年 8 月份前试用。如需继续使用需与本软件作者联系,E-mail:hurry_。返回值:整型,连接成功返回0,初始化端口失败返回1,连接网关失败返回2,序列号无效试用到期无法继续使用返回3。2.DisConnectWithIsmg 方法说明:断开与远程短信网关的连接。在此方法中同时释放与远程连接的Socket。声明原型:int DisConnectWithIsmg()返回值:成功返回0,失败返回负值。3.SendMessage 方法说明:向指定手机发送短消息。在

6、此函数中,如发送的消息超过最大短信字符数(140Byte),则自动分条发送。同时支持群发,超过最大群发数时(100 条),则自动分批次发送。声明原型:(1)intSendMessage(stringSrc_Id,stringService_Id,stringMsg_src,string Dest_terminal_Id,string Msg_content)(2)intSendMessage(stringSrc_Id,stringService_Id,stringMsg_src,stringDest_terminal_Id,stringMsg_content,byte Msg_Fmt)参数说明

7、:Src_Id:源号码,SP 的服务代码或前缀为服务代码的长号码,该号码最终在用户手机上显示为短消息的主叫号码。Service_Id:业务类型,是数字、字母和符号的组合。Msg_src:企业代码。Dest_terminal_Id:接收短信的手机号码。群发时多个手机号码之间有逗号或分号隔开。Msg_content:消息内容,长度大于最大短消息长度时,自动分条发送。Msg_Fmt:消息编码格式。0:ASCII 串3:短信写卡操作4:二进制信息8:UCS2 编码15:含 GB 汉字声明原型1 时,Msg_Fmt 默认为 15,此时最大消息长度为70,无论是否包含汉字。返回值:发送成功时返回大于0 的

8、流水号,失败时返回负值。(三)事件1.OnDisConnected 说明:与网关ISMG断开事件事件参数类:System.EventArgs 事件参数成员:标准.net事件参数。2.OnNetworkError 说明:网络错误事件,一般为网络连发次后仍未收到回复事件参数类:NetworkErrorEventArgs 名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 7 页 -事件参数成员:int TotalLength,Command,Sequence;byte Message,MessageBody;int ErrorCode;/出错代码:1:网络包超时,2:发送队列满,3:发送

9、消息到 ISMG 出错3.OnRecieveMessage 说明:从网关收到消息事件事件参数类:RecieveMessageEventArgs string MobileNumber,SPNumber,MessageContent,Service;/分别对应为:手机号,特服号,消息内容,服务代号long MsgId;/消息标识,由网关产生,可以用来唯一标识某一条短信int Sequence;byte MessageBody;4.OnRecieveSubmitMessageResp 说明:收到网关发来的发送短消息确认事件事件参数类:RecieveSubmitMessageRespEventArg

10、s 事件参数成员:intSequence;/消息发送流水号intResult;/发送消息结果:0:成功发送,小于0则为失败longMsgId;/消息标识,由网关产生,可用于标识唯一某条短信。5.OnRecieveStateRpt 说明:收到ISMG发来的状态报告事件。SP 端成功向网关提交一条短信后,稍后会收到服器发来的短信发送状态的报告信息,以判断短信是否成功发送到手机上。事件参数类:RecieveStateRptEventArgs 事件参数成员:long Msg_Id;/消息标识,该值与发送消息确认事件中的Msg_Id值相同。string Stat,Dest_terminal_Id;/St

11、at:状态信息,说明详见后表,Dest_terminal_Id:发送消息的手机号。DateTime Submit_time,Done_time;int SMSC_sequence;byte MessageBody;State 含义对应表:Message State Final Message States Description DELIVERED DELIVRD Message is delivered to destination EXPIRED EXPIRED Message validity period has expired DELETED DELETED Message has

12、been deleted.UNDELIVERABLE UNDELIV Message is undeliverable ACCEPTED ACCEPTD Message is in accepted state(i.e.has been manually read on behalf of the subscriber by customer service)UNKNOWN UNKNOWN Message is in invalid state REJECTED REJECTD Message is in a rejected state 名师资料总结-精品资料欢迎下载-名师精心整理-第 4

13、页,共 7 页 -6.OnRespQuery 说明:查询消息状态回复事件事件参数类:ResQueryEventArgs 事件参数成员:(说明参见CMPP 协议)int Sequence;DateTime Time;byte Query_Type;string Query_Code;int MT_TLMsg,MT_Tlusr,MT_Scs,MT_WT,MT_FL,MO_Scs,MO_WT,MO_FL;(四)使用步骤1.调用 ConnectToIsmg()来连接到远程网关。2.调用 SendMessage()来向网关发送一条消息,返回消息流水号Sequence。3.继续调用SendMessage(

14、)发送消息,。4.从网关接收到发送消息确认信息,自动触发OnRecieveSubmitMessageResp 事件,事件参数中的Msg_Id、Sequence,其中 Sequence与 SendMessage()方法匹配出具体的消息,将Msg_Id 保存到该消息上。5.网 关 根 据 消 息 发 送 情 况,向SP 提 交 发 送 消 息 状 态 报 告,自 动 触 发OnRecieveStateRpt 事件,根据状态报告参数中的Msg_Id 标识某消息是否成功送达手机。注意该事件一般在手机收成功收到短消息后触发,所以该事件经常在调用 SendMessage后很长时间后才触发,如正常一般在10

15、 秒钟左右,但有时会在几分钟甚至在几个小时后才会触发。6.如接收到网关发来的短消息,则触发OnRecieveMessage 事件,消息内容、手机号码、发送的特服号均在事件参数中提供了。7.调用 DisConnectWithIsmg()断开与网关的连接。8.如在连接到网关后,因故发生网络故障则会触发OnNetworkError 事件,一般发生在一个消息包重发N 次后还未成功,或其他网络情况。9.SP 与网关服务器断开连接后,会触发OnDisConnected 事件。不管是SP 主动提 出 中 断、还 是 网 关 提 出 中 断、或 者 因 网 络 错 误 中 断 连 接 均 会 触 发OnDis

16、Connected 事件。二、CMSMGWCenter.CMSMGWCenter 简要说明:短信网关应用程序。该类是在CMSMIF.CMPPApp 类基础上,从数据库中获取要发送的短信将其发送到网关上,同时将从网关上接收到的消息存到数据库中。其中数据库中与该短信网关相关的主要有两张表:tbl_SendSM 及 tbl_RecieveSM,前者存储要发送的短信,后者存储从网关上接收下来的短信。注:目前数据库仅支持SQL Server 2000,但仅需适当改变即可支持其他类型的数据库。(一)方法说明1.Start 方法说明:开始处理短信收发工作。名师资料总结-精品资料欢迎下载-名师精心整理-第 5

17、 页,共 7 页 -开始后,系统有一线程判断tbl_SendSM 表中是否有新短消息需要发送,如有则调用CMSMIF.CMPPApp.SendMessage()进行发送。并分在收到“发送消息回复确认”事件及收到“消息发送状态包”事件中,设置短消息的状态位。如从网关收到消息,则将消息写到数据库tbl_RecieveSM 表中。另还有一线程专门检测与网关连接情况,除SP主动与网关断开连接外,在收到“与网关断开连接”事件后自动再与服务器重新建立联接。声明原型:intStart(stringdBConnectionString,stringcMSMGateWayIP,intport,string sP

18、_ID,string secret,string SN,boolsaveWasteSM)参数说明:dBConnectionString:数 据 库 连 接 字 符 串。如:user id=sa;data source=192.0.0.1;initial catalog=smscenter;password=。cMSMGateWayIP:远程短信网关IP 地址。Port:远程短信网关端口号。SP_ID:企业服务代码Secret:连接认证码,由中国移动与源地址实体事先商定。SN:本软件的使用许可序列号。无效的序列号仅可在2004 年 8 月份前试用。如需继续使用需与本软件作者联系,E-mail:h

19、urry_。SaveWasteSM:是否保存接收过来的垃圾短信。垃圾短信是指发到以本特服号开头的但未在tbl_SPInfo 表登记注册的短信。True:保存,False:不保存。凡是垃圾短信,本接口会自动给发送方一个回复,指示“特服号无效”,要求其不要发送。返回值:成功返回0,数据库登录失败返回1,网关登录失败或序列号无效试用到期无法继续使用返回2。2.Pause 方法说明:暂停发送短信工作,但接收短信正常进行。声明原型:void Pause()3.Restart 方法说明:重新启动发送短信工作。声明原型:void Restart()4.Stop 方法说明:停止短信收发工作,并释放占用的各种资

20、源。声明原型:void Stop()(二)运行日志运 行 日 志 默 认 情 况 下 保 存 在C盘 根 目 录 下,如 在 注 册 表 中SOFTWAREShenGCMSMGateWayLogPath下维护了一个路径,则会保存在此目录下。(三)数据库结构tbl_SendSM/发送的消息id bigint IDENTITY(1,1),/消息标识mobile varchar(20),/手机号码spid varchar(10),/特服号content nvarchar(200),/消息内容名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 7 页 -preSendTime datetim

21、e,/预计发送时间insertTime datetime,/消息插入到数据库的时间flag int,/标记0:新消息1:已提交到网关2:收到网关的确认回复包3:收到网关的状态包remark nvarchar(50),/备注信息service varchar(20),/服务代码sentTime datetime,/消息发送时间doneTime datetime,/消息状态包接收时间msgId bigint,/消息标识,由网关产生sequence int,/序列号sendstat varchar(10),/消息发送最终状态,由状态包提供clientIp varchar(30)/tbl_Reciev

22、eSM/接收到的消息id bigint IDENTITY(1,1),/ID 号mobile varchar(20),/手机号码spid varchar(10),/特服号content nvarchar(200),/消息内容recieveTime datetime,/接收时间flag int,/标记0:新接收1:已被其他程序处理service varchar(20),/服务代码remark varchar(50),/备注msgId bigint,/消息标识sequence int/消息序列号tbl_SPInfo/有效特服号列表spid varchar(10)/有效的特服号(四)名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 7 页 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁