分享
 
 
 

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

王朝other·作者佚名  2006-08-03
窄屏简体版  字體: |||超大  

版本说明:

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有