接口使用说明文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中国移动短信网关
SP端接口使用手册
China Mobile Shot Message
Gateway Interface for SP Manual
作者:沈岗
日期:2004年1月
版本:V1.2
一、CMSMIF.CMPPApp
简要说明:
该类采用CMPP协议(V2.0)实现了SP端与移动短信网关的连接处理。
本类中,采用长连接方式与ISMG通讯。通信双方以客户-服务器方式建立TCP连接,用于双方信息的相互提交。当信道上没有数据传输时,通信双方应每隔时间C发送链路检测包以维持此连接,当链路检测包发出超过时间T后未收到响应,立即再发送链路检测包,再连续发送N-1次后仍未得到响应则断开此连接。参数C、T、N可通过属性配置。
消息发送时采用并发方式,即发送一条消息不等待网关回复确认,继续向网关发送短信,这样发送消息速度非常快,完全取决于网关的处理速度及网络速度。为避免消息丢失,同时采用了滑动窗口流量控制,窗口大小可通过属性设置。
消息接收、网络断开等采用事件触发方式,不需应用程序轮询,在此接口基础之上编程方便。
类中运用了多线程技术,如一条线程处理发送网络包,而另一条线程处理从网关上接收网络包,其他还有一些线程处理检测包、网络连接情况监测等,使程序思路明确、执行效率很高、运行非常稳定。
(一)属性
1.ActiveInterval
说明:检测包发送时间间隔,单位:毫秒。默认值为120000,即120秒。为上
述类说明中的C参数。
2.MaxNetworkPackSize
说明:与ISMG通讯时最大网络包大小,单位:字节。默认值为512Byte。
3.MaxRetryTimes
说明:网络超时最大重发次数,单位:次。默认值为3次。为类说明中的N。
4.OverTime
说明:网络包发送超时时间,单位:毫秒,超过此值还未收到回复则重发。默认值
为60000,即60秒。为类说明中的T。
5.QueueLength
说明:网络队列大小,单位:个,默认值为20。为类说明中的滑动窗口大小,
以控制发送流量。
(二)方法
1.ConnectToIsmg
方法说明:
连接到远程短信网关ISMG上,只有连接到远程短信网关上,才可进行短信收发操作。
在本操作中,自动初始化本地Socket,以连接到指定IP服务器的指定端口上。
声明原型:int ConnectToIsmg(string ServerIP,int Port,string
SP_ID,string Secret,string SN)
参数说明:
ServerIP:远程短信网关服务器的IP地址,如211.138.200.51
Port:远程短信网关服务器的端口号,如7890
SP_ID:企业服务代码
Secret:连接认证码,由中国移动与源地址实体事先商定。
SN:本软件的使用许可序列号。无效的序列号仅可在2004年8月份前试用。
如需继续使用需与本软件作者联系,E-mail:hurry_sg@。
返回值:整型,连接成功返回0,初始化端口失败返回-1,连接网关失败返回
-2,序列号无效试用到期无法继续使用返回-3。
2.DisConnectWithIsmg
方法说明:断开与远程短信网关的连接。在此方法中同时释放与远程连接的
Socket。
声明原型:int DisConnectWithIsmg()
返回值:成功返回0,失败返回负值。
3.SendMessage
方法说明:向指定手机发送短消息。
在此函数中,如发送的消息超过最大短信字符数(140Byte),则自动分条发送。同时支持群发,超过最大群发数时(100条),则自动分批次发送。
声明原型:
(1)int SendMessage(string Src_Id,string Service_Id,string
Msg_src,string Dest_terminal_Id, string Msg_content)
(2)int SendMessage(string Src_Id,string Service_Id,string
Msg_src,string Dest_terminal_Id, string Msg_content,byte Msg_Fmt)参数说明:
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的流水号,失败时返回负值。(三)事件
1.OnDisConnected
说明:与网关ISMG断开事件
事件参数类: System.EventArgs
事件参数成员:标准.net事件参数。
2.OnNetworkError
说明:网络错误事件,一般为网络连发N次后仍未收到回复
事件参数类:NetworkErrorEventArgs