短信猫(GSM-MODEM)二次开发包--DLL 方式

时间:2007-08-22 11:41:14  来源:  作者:

版本说明: 3.73版-修改了纯西文接收时,有时末尾出现@符号的问题。 3.72版-修改了信息状态报告返回的错误。 3.71版-修改了特殊字符的支持、增强了稳定性、修改了信息状态报告返回的错误。 3.70版-添加新函数,增加线程发送模式. fnSetThreadMode 3.69版-修正了fnSetDelayTime函数的调用错误 3.68版-支持最大256个端口,修正了fnWapPushCvt函数的返回错误 3.66版-支持到达报告功能,支持带电换卡功能,修改对某些信息长度判断错误的问题。 3.65版-修改了有些电脑检测不到短信猫的问题 3.63版-添加了两个函数fnSetDelayTime 和 fnWapPushCvt 3.62版-支持64个发送端口 3.61版-支持工业级短信猫,需要将类型设置成单口 3.58版-修改了对8口猫的支持错误, 支持纯西文发送到160个字节. 3.56版-加强了发送信息的稳定性. 3.55版-增加发送PUSH短信的功能,在fnSendMsg函数中添加了发送类型参数,读取返回信息函数也作了响应的修改。 一、      概述 梦网短信猫DLL接口提供API级的函数调用接口,接口完全底层调用,没有任何界面,适合于广大自主品牌的开发用户。函数接口简单,尽需几个简单的函数调用,就可以实现信息的发送和接收功能。调用结构图如下:  

用户程序 VC,VB,Delphi,PB, CBuilder等 DLL接口 MonDem.DLL 梦网短信猫 2口、4口、8口

目前MonDem.DLL只支持Windows平台。   短信猫通过串行口(COM)和计算机相连,或者通过USB虚拟的串行口和计算机相连,我们这里编程都是对串行口进行的,有关串行口的信息可以在计算机系统属性中的设备列表中了解。   本文适合MonDem.DLL 版本3.55。 二、      编程说明 用户使用MonDem.DLL编程的基本流程如下: a)       加载MonDem.DLL并定位函数,方法要视具体的编程语言而定。 b)      调用fnSetModemType函数,设置相应的短信猫类型 c)      执行初始化函数fnInitModem,可以指定打开某个端口,或者指定端口编号为-1,表示打开所有可能打开的端口。 d)      调用fnSendMsg函数进行信息提交,同样可以指定用某个端口发送,或者-1表示用所有可能的端口进行发送。 e)       以查询方式调用fnReadMsgEx接收信息(可在定时器里调用),本函数也可以指定单独端口或所有端口。本函数可以接收SIM卡接收到的信息,也可以接收由fnSendMsg发送信息的发送结果。具体请看函数说明部分。 f)       退出程序前调用fnCloseModem关闭端口。   注:在发送之前可先用fnGetStatus函数得到端口状态,状态编号大于等于8,表示该端口设备连接正常,可以发送。 三、      函数列表 1.      通讯部分 l         短信猫类型设置 long fnSetModemType(long ComNo,int modemType) 参数: nComNo 0~255 代表COM编号,        modemType 短信猫类型               0 - 1口短信猫, 1 - 2口短信猫, 2 - 4口短信猫, 3 - 8短信猫口 返回: 0 - 成功, -1类型错 XXX -错误代码,参见代码表   l         获取当前短信猫类型设置 long fnGetModemType(long ComNo) 参数: nComNo 0~255 代表COM编号。 返回 :短信猫类型               0 - 1口短信猫, 1 - 2口短信猫, 2 - 4口短信猫, 3 - 8短信猫口 XXX -错误代码,参见代码表   l         初始化函数 long fnInitModem (long nPortNo) 参数: nPortNo 0~255 代表端口号码, -1 表示所有端口 返回: 0 - 成功 XXX -错误代码,参见代码表   l         提交发送函数 long fnSendMsg (long nPortNo, char * szHeader, char * szMsg) 参数: nPortNo 0~255 代表端口号码,-1表示所有可能端口 szHeader 目标手机号码+序列号+已发送次数+发送者ID+发送类型+报告类型   (共六项)                                           例如: 138123456789,1,0,1388888888,0,1 其中目标手机号码是毕添项目,其他可添可不添 其中手机号码和序列号之间用逗号隔开,序列号由用户自己定义,用于唯一标识这条短信,当MonDem.DLL返回状态时,同时返回该序列号,这样便于用户区分是哪一条短信的返回状态。参见fnReadMsgEx。另外:序列号只是为了用户便于识别返回状态使用的,它不影响发送过程。已发次数代表该条短信已经发送的次数,在返回函数里,该次数将被累加1并返回。 序列号为字符型,最长支持20位。 发送者ID是一个11位的字符串,方便用户记录发送者帐号信息 发送类型:0-普通信息,1-PUSH信息 报告类型: 0-无信息达到报告,1-有信息达到报告 szMsg 发送信息内容(当信息类型是PUSH信息时,填写16进制的字符串,如:C5B894231AE6F8,该字符串的格式内容由用户自己定义。)                      (应该在70个字符以内,包含标点符号,1个汉字算1个字符)                                   例如: 恭喜发财,测试成功!   长度为10                     返回: 0~255 –提交成功,返回发送端口号,当用-1发送时返回为0                            -1 - 发送缓冲区满                              XXX -错误代码,参见代码表                      说明:提交成功并不代表发送成功,发送结果信息用fnReadMsgEx来读取                  发送缓冲区中最多容纳500条记录,超过500提交失败,函数返回-1   l         查询接收函数                     long fnReadMsgEx (long nPortNo,char * szHeader,char * szReadMsg)                     参数: nPortNo 0~255 代表端口号码, -1 表示所有端口 szHeader 包含: 信息类型,端口号,接收时间,手机号码,序列号,已发次数,提交端口,发送者ID,发送类型,发送序号十部分 例如: 0,5,2004-05-28 12:30:52,1382523xxxx,001,1,0, 1382523xxxx,0,105 信息类别的说明: 0- 接收信息, 1-      发送成功信息 2-      发送失败 3-      发送超时1 4-      发送超时2 5-      取消发送 6-      信息到达报告 端口号码 5 代表第5个端口 接收时间 2004-05-28 12:30:52 手机号码: 1382523xxxx 序列号:发送结果与提交信息时的序列号相同,接收信息为0 已发次数:提交时传递的已发次数+1 提交端口:仅在非接收信息中有效,代表用户调用fnSendMsg函数时指定的端口号码 发送者ID:与fnSendMsg中的发送者ID对应,方便用户记录管理,当接收信息时,此项与手机号码相同。                           发送类型:与fnSendMsg中的发送类型对应                                            发送序号: 对于发送成功的返回和信息报告有效,1~255                                                                信息报告与发送成功的信息相对应。                                                                比如:发送成功返回 60,那么信息报告也返回60                                     通过手机号,时间和发送序号来确定发送记录与信                                                                息报告的关系。                            szReadMsg 接收信息内容                     返回: 0  - 接收成功                            -1 - 无信息                         XXX -错误代码,参见代码表 注意:接收缓冲区中最多保留500条记录,多余部分将被丢弃,所以请您编程时一定要注意及时读取,以免信息丢失   l         关闭函数 long fnCloseModem (long nPortNo) 参数: nPortNo 0~255 代表端口号码, -1 表示所有端口 返回: 0 - 成功 XXX -错误代码,参见代码表   l         得到软件最大支持端口号 long fnGetPortMax() 返回: 最大支持端口数目(0,1,2,3,4,8 等)     l         取端口状态函数 long fnGetStatus (long nPortNo) 参数: nPortNo 0~255 代表端口号码, -1 表示所有端口 返回: 端口状态,大于等于8表示设备连接正常,可以接收和发送。       状态小于8,表示测试状态。小于等于1,可能连线没有接好或者电源         没有打开,注意复位短信猫。      -1 端口号指定错误或者是端口未打开               l         取发送缓冲区条数 long fnGetSndCount (long nPortNo) 参数: nPortNo 0~255 代表端口号码, -1 表示所有端口 返回:发送缓冲区信息条数。      -1 端口号指定错误     l         取接收缓冲区条数 long fnGetRecCount (long nPortNo) 参数: nPortNo 0~255 代表端口号码, -1 表示所有端口 返回:发送缓冲区信息条数。      -1 端口号指定错误   l         清除发送缓冲区 long fnClrSndBuf (long nPortNo) 参数: nPortNo 0~255 代表端口号码, -1 表示所有端口 返回: 0-成功。      -1 端口号指定错误   l         清除接收缓冲区 long fnClrRecBuf (long nPortNo) 参数: nPortNo 0~255 代表端口号码, -1 表示所有端口 返回: 0-成功。      -1 端口号指定错误   l         设置接收功能 long fnSetReceive (long nType) 参数: nType, 0-关闭接收信息功能,1-开启接收信息功能 返回: 0-成功。      -1错误 注意: 缺省情况下,接收功能是开启的(但是需要软件狗的支持)      另外,关闭接收功能,如果短信卡中存储了太多的短信,而不读取,      可能会影响到信息的发送。所以建立不要使用此关闭功能。   l         取消发送功能 long fnCancelSend (long nCount) 对用fnSendMsg函数提交到发送队列还没有发送出去的信息,可以选择取消发送,取消的信息会保存到接收队列,可以用fnReadMsgEx函数得到,被取消后得到的信息类别为5。 参数: nCount, 想要取消发送的信息条数,取消的顺序是先进先出,但是正在发送的信息不能取消,0-表示取消所有发送队列。 返回: 0-成功。      -1错误 l         设置发送延时功能 long fnSetDelayTime(long PortNo,long DelayTime) fnSetDelayTime函数用来设置每个端口发送延时, 当某个端口发送完一条信息后,将按照设置的 DelayTime 进行延时,单位是毫秒。 参数:PortNo 端口号码,DelayTime 延时毫秒数。 返回: 0-成功。      -1错误   l         得到WapPush编码 long fnWapPushCvt(char * szTitle,char *szUrl,char * szOutStr) 对指定标题和URL进行编码,生成16进制编码字符串。改结果可以直接被fnSendMsg函数使用作为WapPush信息发送 参数: szTitle 标题信息,szUrl wap网址,          szOutStr 用来接收编码信息 ,调用前请确认为szOutStr准备足够的空间用来接收数据,建议使用500字节以上。 返回: 0-成功。   l         设置启用线程模式 long fnSetThreadMode(long nMode) fnSetThreadMode函数用来设置DLL启用线程模式执行,不受消息限制的执行,可以适合以服务方式执行的程序的调用。 参数: nMode – 1 开启线程模式 注意:一定在所有的fnInitModem函数调用之前调用这个才有效,否则可能造成程序混乱。 返回: 0-成功。   四、      错误代码表        100: 授权错误(检测软件狗)        101: 授权类型错误(检测软件狗类型)        102: 未初始化,请先初始化        103: DLL文件错误          200: 端口号码错        201: 不支持的端口        202: 信息超长        203: 不能发送空信息        204: 手机号码错        205: 设备错        206: 检测中心错        207: 网络登录错        208: 设置格式错        209: 系统忙        210: 发送超时          5xx: xx号端口不存在或被其他程序占用, 五、      例子程序 我们为该接口提供了VC、VB、PB和Delphi,JAVA的例子,其他程序可参考这些例子自行编制。                                    
    作为做短信猫的专业公司:广州梦网公司的短信猫郑重承诺:
   1 短信猫的选材是原装进口的模块 (硬件一年包修,三月包换)
   2 短信猫硬件设备完全自主开发,公司有自己的研发力量,保证产品的稳定性
   3 短信猫开发包,开发技术和软件,开发例子免费提供,让您先做接口,再做接入
   4 短信猫产品价格全国最具竞争力,性价比最高
   5 提供开发的全程技术支持和售后服务
   6 遍及全国销售和服务网络
  
广州梦网科技有限公司产品简介
短信防伪            SP端口号(移动联通小灵通同一个号码)
短信猫              集团短信网关(短信通道)
低价短信广告        集团短信群发软件
短信群发软件        家校产品 免费提供短信猫VC、C++、VB、DELPHI、PB开、JAVA、ASP,COM组件等二次开发接口说明书有具体的开发例子
广州梦网科技有限公司短信部:
联系人:任卫平 经理 
电  话:020-88149720 13794425319
传  真:020-87602099
Q    Q:426262473
地  址:广州市环市东路498号广发花园柏丽商务中心12C(动物园南门站)
邮  编:510075

文章评论

共有 位网友发表了评论 查看完整内容