1、网络-技术- 服务 帝龙科技短信解决方案网址:http:/ 地址: 广州市同和路梅花园圣地南路 A 座 604 室邮件: 电话: 020-87270584 第 1 页SMSServer 短信消息平台白皮书目录一、开发背景 .2二、软件功能 .2三、软件特点 .2四、技术特点 .2五、运行环境 .2六、体系架构 .2七、组成说明 .27.1、短信发收设备(GPRS/GSM Modem) .27.2、短信发送 JavaBean 组件 iSMSClient2000.class 的开发接口 .27.3、短信发送 COM 组件 iSMSClient2000.dll 的开发接口 .27.4、SMSServ
2、er 短信服务软件(SMSServer Server)系统参数说明 .2网络-技术- 服务 帝龙科技短信解决方案网址:http:/ 地址: 广州市同和路梅花园圣地南路 A 座 604 室邮件: 电话: 020-87270584 第 2 页一、开发背景目前政府、企业信息化,对消息的获取提出了更加严格的要求,需要随时随地、不受空间、时间、地点的限制;要求主动获取消息,要求能在节省成本,同时保证信息安全,在这种情况下,本公司自行研制开发了基于 Web 方式的SMSServer 短信消息平台管理方案。这个方案是采用无线 GPRS/GSM Modem作为短信收发设备,并在此基础上开发了帝龙短信服务器软件
3、和 Web 应用组件,支持 JavaBean 或 COM 调用方式,提供高可靠的扩展性,方便了政府、企业和软件开发商应用集成。二、软件功能功能 说明接收短信功能 自动接收短信,并提供保存短信接口方法。采用短信消息接收队列方式,可以接收无限多条短信,而不会丢失。系统提供保存到数据库的接口方法。以便更好的实现 Web 编程。发送短信功能 采用消息队列方式发送短信,保证短信能够发送成功,能够同时处理无限量短信并发问题,大大提高发送速度。支持短信群发 系统支持大量的短信群发功能,群发数目不限制。数据库支持功能 支持短信保存到服务器数据库中,可以支持多种数据库,如SQL Server,Oracle,Sy
4、base,MySql 等支持 B/S 结构 提供 B/S 结构的组件,提供 JavaBean 和 Com 开发组件;使得短信开发方便,简单。支持 C/S 结构 提供 C/S 结构的 COM 开发组件;支持Delphi,VB,VC,C+,Jbulider,C# 等开发语言。系统二次开发 提供的函数库,支持多种系统环境,多种开发语言,多种数据库。网络-技术- 服务 帝龙科技短信解决方案网址:http:/ 地址: 广州市同和路梅花园圣地南路 A 座 604 室邮件: 电话: 020-87270584 第 3 页三、软件特点1、 专用服务器设计采用消息队列和多线程处理机制,开发了帝龙短信服务器(Dra
5、gongod SMSServer Server) ,保证系统运行稳定,提高消息处理效率。2、 支持 Web 方式调用SMSServer 完全支持 Web 方式调用,为用户提供方便、灵活应用机制。3、 采用 TCP/IP 协议SMSServer 完全采用 TCP/IP 协议在短信组件和短信服务器之间进行数据传送。所以速度快、稳定性强、并发数多。4、 采用消息队列软件采用消息队列方式对消息的发/收进行管理,提高消息处理效率,保证消息的流畅。5、 采用错误处理机制服务器采用 3 级错误发送机制,可以保证所有信息都不会漏发。6、 系统开放性SMSServer 完全支持 Java Bean 或 Micr
6、osoft COM 方式调用,并提供完整开发接口。7、 系统安全性采用无线 GPRS/GSM Modem 设备,完全与国际互联网隔离,保证消息的安全。8、 多平台、多数据库支持SMSServer 支持多平台(Window NT、Window2000、Linux、Domino) ,多数据库系统(MS SQL SERVER、ORACLE、SYBASE、DB2、ACCESS 等)四、技术特点1、 采用 IE5.0 以上版本内置的 HTTP 传输协议,通讯性能稳定,高效,配置简单、安全性好。2、 基于 WEB 方式调用,方便系统维护、方便用户操作。3、 系统开放性好,便于二次开发。4、 采用了 Com
7、 组件和 JavaBean 组件技术,很好的实现了跨平台系统,便于开发网络-技术- 服务 帝龙科技短信解决方案网址:http:/ 地址: 广州市同和路梅花园圣地南路 A 座 604 室邮件: 电话: 020-87270584 第 4 页五、运行环境硬件平台:台式机 CPU 建议 Pentium500 以上,内存推荐 128M 以上,硬盘 10G 以上空间。服务器 配置相应级别的 PC 服务器软件平台:服务器 Windows2000 Server、IIS5 、SQLServer2000或 Domino、Linux、Tomcat、MySql、Oracle客户机 Windows 98/Me/2000
8、 Professional 简体中文版、简体中文 IE5.0 以上版本。网络-技术- 服务 帝龙科技短信解决方案网址:http:/ 地址: 广州市同和路梅花园圣地南路 A 座 604 室邮件: 电话: 020-87270584 第 5 页六、体系架构SMSServer 系统采用了服务器软件来完成发送任务,所以,对于用户来说,只要提交短信就可以了,其余的发送工作都由服务器完成。所以发送速度大大提高。发送程序工作原理非常简单,首先通过 OpenSMS 打开与服务器的连接,然后就是通过 SendSMS 发送一短信,如果需要群发,只要多次调用 SendSMS 即可,发送完成后,关闭与服务器的连接。由于
9、我们的服务器采用多线程方式,所以支持多人同时连接发送服务器。这样就可以大大提高发送速度。SMSServer 短信消息平台的组成:分别由短信发收设备(GPRS/GSM Modem) 、帝龙短信服务器(Dragongod SMSServer Server) 、短信发送组件(SMSServer ClientBean)和帝龙短信跟踪器(SMSServer Tacker)四部分组成。SMSServer 短信消息平台架构 Com/Com+短信发收设备(GPRS/GSM Modem)帝龙短信服务器软件(Dragongod SMSServer Server)USB 端口TCP/IPJavaBeanJSP 短信
10、发送组件(iSMSClient2000.class)ASP 短信发送组件( iSMSClient2000.dll)短信接收及状态跟踪(iSMSEvent)短信接收及状态跟踪(iSMSEvent)网络-技术- 服务 帝龙科技短信解决方案网址:http:/ 地址: 广州市同和路梅花园圣地南路 A 座 604 室邮件: 电话: 020-87270584 第 6 页SMSServer 短信消息平台数据流图 七、组成说明1. 7.1、短信发收设备(GPRS/GSM Modem)无线 Modem 具本参数以说明书为准,暂不提供。无线 Modem 样图 2. 7.2、短信发送 JavaBean 组件 iSM
11、SClient2000.class 的开发接口用于 Jsp 下发送短信调用:Web 页面iSMSList(.asp 或 .jsp)短信发送程序iSMSSend(.asp 或 .jsp)短信发收设备(GPRS/GSM )DataBaseADO 或 ODBC 或 JDBCiSMSClient2000.dll(COM 组件)或iSMSClient2000.class (Java 组件)帝龙短信服务器(Dragongod SMSServer Server)短信接收及状态跟踪程序iSMSEvent(.asp 或 .jsp)(.asp 或 .jsp)网络-技术- 服务 帝龙科技短信解决方案网址:http:
12、/ 地址: 广州市同和路梅花园圣地南路 A 座 604 室邮件: 电话: 020-87270584 第 7 页引用:com.goldgrid. iSMSClient2000 ObjsmsClient2000 = new com.goldgrid. iSMSClient2000 ();方法:ObjsmsClient2000.OpenSMS(String HOST,String PORT)作用:打开与帝龙短信服务器的连接参数:HOST短信服务器的机器名或 IP 地址PORT短信服务器专用端口返回:布尔型,true 表示连接成功,相反失败ObjsmsClient2000.SendSMS(String
13、 Msg_No,String To_Mobile,String Content);作用:发送短信参数:Msg_No 短信记录编号,对应数据库中的 RECORDTo_Mobile接收短信手机号码Content短信内容返回:布尔型,true 表示发送成功,相反待发,由帝龙短信服务器软件处理,并交 iSMSEvent 短信跟踪器处理发送状态。ObjsmsClient2000.CloseSMS();作用:关闭与帝龙短信服务器的连接参数:(无)返回:(无) 。演示样例文件调用次序:iSMSList.jspiSMSSend.jspiSMSClient2000.classiSMSServer2000.exe
14、iSMSEvent.jsp网络-技术- 服务 帝龙科技短信解决方案网址:http:/ 地址: 广州市同和路梅花园圣地南路 A 座 604 室邮件: 电话: 020-87270584 第 8 页3. 7.3、短信发送 COM 组件 iSMSClient2000.dll 的开发接口用于 Asp 下发送短信调用:引用:Set ObjiSMSClient2000 = Server.CreateObject(“Dbstep.SMSClient2000“)方法:ObjiSMSClient2000.OpenSMS(String HOST,String PORT)作用:打开与帝龙短信服务器的连接参数:HOST
15、短信服务器的机器名或 IP 地址PORT短信服务器专用端口返回:布尔型,true 表示连接成功,相反失败ObjiSMSClient2000.SendSMS(String Msg_No,String To_Mobile,String Content);作用:发送短信参数:Msg_No 短信记录编号,对应数据库中的 RECORDTo_Mobile接收短信手机号码Content短信内容返回:布尔型,true 表示发送成功,相反待发,由帝龙短信服务器软件处理,并交 iWebSMS 短信跟踪器处理,对应下面参数 OPTION。ObjiSMSClient2000.CloseSMS();作用:关闭与帝龙短信
16、服务器的连接参数:(无)返回:(无) 。样例文件调用次序:iSMSList.aspiSMSSend.aspiSMSClient2000.dllSMSServer.exeiSMSEvent.asp4. 7.4、SMSServer 短信服务软件(SMSServer Server)系统参数说明短信服务器:网络-技术- 服务 帝龙科技短信解决方案网址:http:/ 地址: 广州市同和路梅花园圣地南路 A 座 604 室邮件: 电话: 020-87270584 第 9 页系统通过运行 SMSServer.exe 作为服务器程序,该程序必须运行在安装了 GPRS/GSM Modem 设备的计算机上,以便为
17、其他的应用提供服务编程接口:系统通过 iSMSClient.dll 或 iSMSClient.class 提供相关函数与服务器进行短信发送的交流. 函数主要有打开服务器连接OpenSMS(localhost,8090)其中localhost是服务器的名称或 ip 地址8090 是端口号,这个号码由服务器的 ini 文件指定.SendSMS(01023,+8613760732599,测试发送短信内容-帝龙)其中01023是指当前记录在数据库中的唯一标识,以便发送成功后,有 WEBURL 指定的程序更改状态+86135760732599是接收号码,+86 表示中国内地,如果其他地方如台湾,香港,可
18、以使用他们的国际代码测试发送短信内容-帝龙是你要发送的短信息如果你要群发短信,你可以多次调用此函数,进行群发.CloseSMS()关闭连接事件接口:系统通过短信服务器调用 WEBURL 指定的 Web 应用程序来处理端信事件比如:发送成功报告(OPTION=PUT)如果发送短信成功,那么系统将返回如下参数给 Web 应用程序OPTION=PUTRECORD=01023MOBILE=13760732599CONTENT=测试发送短信内容 -帝龙DATETIME=2003-10-20 12:20:30接收短信报告(OPTION=GET)如果到新接收短信,那么系统将返回如下参数给 Web 应用程序O
19、PTION=GETRECORD=MOBILE=13760732599CONTENT=接收短信内容DATETIME=2003-10-20 12:20:30定时短信(OPTION=ALT)网络-技术- 服务 帝龙科技短信解决方案网址:http:/ 地址: 广州市同和路梅花园圣地南路 A 座 604 室邮件: 电话: 020-87270584 第 10 页OPTION=ALTRECORD=MOBILE=CONTENT=DATETIME=2003-10-20 12:20:30这些参数可以通过 Web 的 Request 的对象取得如:Option=Request(“OPTION“)编程接口实例:Set
20、 ObjiSMSClient2000 = Server.CreateObject(“Dbstep.SMSClient2000“)mResult=ObjiSMSClient2000.OpenSMS(“you server“,8090)If (mResult) thenIf (ObjiSMSClient2000.SendSMS(mSms_Msg_No,strTo_Mobile,strContent) thenmResult = trueEnd IfElsemResult = falseEnd IfObjiSMSClient2000.CloseSMS()Set ObjiSMSClient2000 =
21、 nothing事件接口实例:strOption = request(“OPTION“)strRecord = request(“RECORD“)strMobile = request(“MOBILE“)strContent = MarkText(request(“CONTENT“)strDateTime = request(“DATETIME“)mResult=falseIf (strOption=“GET“) then将短信插入数据库中mResult = trueEnd IfIf (strOption=“PUT“) then根据 strRecord,更新数据库中的该记录为已发状态mResult = trueEnd IfIf (strOption=“ALT“) then找出当前的需要发送的记录组成如下串