C#短信猫操作类源码

一、更新记载

1、更新日期:2017-06-02 00:00:00

2、更新内容:

更新内容:
1.DotNet.GsmModem中心组件的性能优化:
①★优化辨认中国手机号码的判别,即修正正则表达式以辨认目前为止一切中国手机号。
②注释了发短信等候反应的100毫秒,这个等候是没意义的。
③修正短信存储在猫内存中,而不存储到SIM卡里,这样会快一些。
④是修正解码时判别相关字符位置的写法,减少加减运算,而直接写数字,这样会快一点点,这个速度是觉得不到的。
⑤修正类GsmModemPoolModule称号为GsmModemModule,并优化其代码,增加计时器,线程等便当多线程同步快速发送短信运用。
⑥增加获取CCID,IMEI的办法及变量。
⑦注释掉衔接猫办法里判别猫能否在线的办法GetActiveStatus,由于有的猫不支持此办法,招致衔接失败。
⑧增加在短信猫串口发送AT指令时触发记载日志的办法,以记载一切发送的AT指令。
⑨把编解码类写成了静态实例,这样不用每次去实例化,要快一点。
2.增加Config.xml配置项,满足短信猫池的配置运用。
3.修复长短信解析的BUG。
倡议一切用户更新。更新代码会修正很多中央,请认真。

1、更新日期:2016-08-02 00:00:00

2、更新内容:
1.修复长短信解析的BUG。
2.修正DotNet.Common项目的源码集成到DotNet.GsmModem中,便当用户只需求援用DotNet.GsmModem一个项目就能够操作短信猫。
3.修正SerialPortDataTransferEventArgs中串口传输数据变量名为Text。
4.优化判别长短信接纳超时办法,恣意一条子条目接纳超时,均判别为长短信接纳完成。

1、更新日期:2016-06-08 00:00:00

2、更新内容:
1.为DotNet.GsmModem.MsgModel添加IMSI号属性,为SmsInterface数据库收短信表添加IMSI字段,用于辨认此条短信是猫池中哪一张卡接纳的。添加此属性需求修正DotNet.GsmModem项目中的代码中央十分多,但不影响老用户运用。
2.修正项目和文件夹称号:DotNet.UIDemo修正为DotNet.SmsServer,DotNet.WebServiceDemo修正为DotNet.SmsWebService。
3.删除DecodedMessage.cs,将短信实例类统一为MsgModel.cs;在MsgModel实体类中添加收到此短信的手机号的IMSI,IMEI,CCID号属性;为便当将短信存储为XML文件,已将各属性值设置为可读写。
4.进一步测试在收到新短信时读取全部短信的办法调用,证明此办法调用倡议保存,由于在同时收到多条长短信时,若不批量读取,会形成短信条目未获取到的状况。

1、更新日期:2016-05-23 00:00:00

2、更新内容:
修复用户编码辨认为USC2编码时的不精确BUG(使得局部USC2编码的短信不能被正常解码)

1、更新日期:2016-04-27 00:00:00

2、更新内容:
1.优化DotNet.GsmModem中心组件中GsmModemMethod.cs文件中的办法,运用lock保证短信猫实例的同一个办法不被同时调用。
2.修复短信猫池效劳程序的bug(发送数据库中的短信失败时会删除此条短信)。
3.修正手机号码辨认正则表达式,使其支持12位数的手机号码。
4.修复某些用户自动收短信功用不正常的兼容性BUG。
5.修复FormGsmModemServer自动发送短信计时器时间过长错误。
6.优化了长短信子条目排序算法和兼并算法,对错误条目停止辨认,加强代码稳定性。
★留意:晋级了2016-04-05以后更新代码的用户,请务必晋级

1、更新日期:2016-04-05 00:00:00

2、更新内容:

1.★修复DotNet.GsmModem中心组件(版本V3.2016.03.28)辨认手机号正则匹配错误,即修复了以“15”开头的手机号会显现为短信发送胜利,但实践未送达。
2.完善了长短信拼接功用:一是正常长短信正常拼接;二是按配置的长短信超时时间来处置未接纳完整的长短信,若长短信丧失子条目,则将一切子条目以普通短信方式解析,因而长短信拼接功用不会因长短信子条目接纳不全而出错;
3.将程序参数配置写在Config.xml文件里,不再写在App.config文件里,并统一编写参数配置代码(BaseConfig.cs),更易维护。
4.优化界面代码:FormGsmModemPoolServer、FormGsmModemServer、FormGsmModemDemo。
5.全面晋级优化中心组件DotNet.GsmModem,版本号为V4.2016.03.28:
(1)将GsmModemMethod.cs和GsmModemMethodLongMsg.cs等移到DotNet.GsmModem中心组件项目中,代码构造更明晰。
(2)将DotNet.GsmModem类封装为GsmModemPoolModule,以更便当地支持短信猫池。
(3)修正代码为在短信猫类实例化时设置各种参数,防止以后屡次设置;精减并优化办法参数,更易运用。
★留意:晋级了2016-03-17 12:00:00更新代码的用户,请务必晋级

1、更新日期:2016-03-17 00:00:00

2、更新内容:
1.优化FormSinglePortGsmModemServer功用:一是发送短信失败后更新标识,以防反复发送曾经发送失败的短信;二是编写统一处置未捕获异常,保证程序稳定性;三是启动效劳程序时统一全部读取未辨认的长短信。
2.优化FormGsmModemPoolDbInterface功用:启动效劳程序时统一全部读取未辨认的长短信。
3.修正短信猫中心组件DotNet.GsmModem为版本V3.2016.03.15:一是准确辨认手机号,小闭塞号和特服号,并采取不同编码;二是优化串口读取数据时产生超时错误的代码,防止因超时时重新衔接短信猫出错。
4.优化局部代码,修复读取一切短信的办法调用时参数次第的错误。
5.新增阐明文档 “DotNet.相关文档\短信猫池数据库接口效劳程序操作阐明.doc”
★倡议老用户慎重晋级。

1、更新日期:2016-03-11 00:00:00

2、更新内容:
1.★增加了短信猫池效劳程序,即提供一个数据库接口,用户需求发短信则往数据库待发表里写入数据库,程序定期获取并发送,关于收到的短信,立刻存入数据库中,有需求就从数据中读取;
2.优化单口短信猫效劳程序、单口短信猫示例程序、短信猫池示例程序代码;
3.不同界面功用引见:
(1)FormSinglePortGsmModem:本例子程序简单地完成了单口短信猫程序执行发送短信和自动接纳短信功用。
(2)FormSinglePortGsmModemServer:本程序细致完成了单口短信猫效劳程序。
主要功用:
发短信:能自动从指定数据库中读取待发短信并发送,发送胜利后修正标识为发送胜利。
收短信:自动接纳短信并存入指定数据库中。
★不同用户运用时,只需求修正对应的Sql语句就行,很便当。
留意:所操作Sql Server数据库为用户的数据库,而不是本程序所建数据库。
(3)FormGsmModemPool:本例子程序仅简单地完成了衔接多个串口的短信猫池。
(4)FormGsmModemPoolDbInterface:本程序较为完善地完成了Sql Server数据库接口方式操作短信猫池收发短信。
首先,附加数据库(其中有待发短信表、收到的短信表、发送短信记载表等);
然后,运转此程序,配置数据库衔接,配置相关参数,设置短信猫池所运用的若干串口号等,
最后,衔接短信猫池即可自动收发短信。
运用办法:
发短信:将需求发送的短信写入Sql Server数据库中待发短信表即可,此程序定期查询并发送;
收短信:此程序将收到的短信即刻写入Sql Server数据库中收到短信表中,您能够定期获取并处置。
★支持参数形式翻开程序,当传入参数为“-autoconnect”时,翻开程序后自动衔接短信猫池,便当用户配置为效劳器启动后自动衔接短信猫池,开启短信猫池效劳程序。
留意:所操作Sql Server数据库为本程序的数据库,而不会操作用户的数据库。

1、更新日期:2016-02-23 00:00:00

2、更新内容:
1.修正理解析特服号发来的长短信偶然不能解析的错误(普通手机号收发长短信不会呈现此错误);
2.晋级中心组件DotNet.GsmModem,在结构函数中新建参数“isAddPrefixOfMsgContent”(能否在收到的长短信子条目前添加序号前缀);
3.可指定能否自动兼并接纳的长短信,可指定能否在接纳到的长短信子条目前添加序号前缀,如“[1/2]短信内容”。留意:兼并长短信并非中心组件DotNet.GsmModem的功用,而是应用层面的功用,示例界面为FormServer。
★阐明:倡议老用户晋级(参考第更新内容1),晋级后需求修正代码(参考更新内容2)。

1、更新日期:2016-02-18 00:00:00

2、更新内容:
1.新增加了单口短信猫效劳软件:启动短信效劳程序,自动定期查询Sql Server数据库,获取需求发送的短信并发送它,发送胜利后设置标识;自动接纳短信并存入数据库。作为用户,只需求修正相应sql语句即可完成短信猫与数据库的对接,很便当。
2.Sql Server数据库文件在DotNet.Database目录下,名为CRM,附加即可,无用户名密码。
3.修正DotNet.GsmModem类代码中的拼写错误,此中心组件功用未修正,老用户能够不晋级。
4.采用Log4Net记载日志;单口短信猫效劳软件可自定义软件称号;软件关闭后在托盘运转;数据库衔接字符串自动加密。

1、更新日期:2016-01-19 00:00:00

2、更新内容:
1.在DotNet.GsmModem类中添加了获取IMEI和IMSI号的办法。

      2.添加短信猫池示例代码,代码所在界面文件为“FormGsmModemPool”。

1、更新日期:2015-11-04 00:00:00

2、更新内容:
1.修正拼写错误(不影响软件功用):将Instense单词修正为Instanse;
2.在DotNet.UIDemo层的收到短信并显现提示信息处,将提示胜利处置短信修正为红色,以警示用户本人添加处置短信的代码,以防短信丧失(未更改软件功用);
3.★★添加DotNet.WebServiceDemo项目,以WebService方式发送短信。即可将短信效劳架设为一个网站,经过调用WebService接口发送短信。
(1)在Global.asax文件的网站启动办法里执行衔接短信猫,注册相关事情等;在中止网站的办法里执行注销事情,断开短信猫等操作;
(2)留意:由于Asp.Net不像WinForm程序有Invoke办法,故此WebService例子程序不支持自动收短信;若需求自动收短信,请运用WinForm程序或Windows效劳方式部署(暂不提供例子程序)。
4.提示:对DotNet.GsmModem项目中一些错误提示停止排版优化(并未修正其功用);故老用户不用晋级。

1、更新日期:2015-06-12 00:00:00

2、更新内容:
1.★在DotNet.UIDemo层FormUIDemo窗体Form_Load办法内(程序初次运转时),添加了读取硬盘中一切短信xml文件代码;
2.★在DotNet.UIDemo层GsmModemMethod.cs中,添加了处置低序位非打印ASCII字符代码,以处置某些特殊短信xml文件不能被正确解析的错误(此错误是运用层面的,不是短信猫中心代码DotNet.GsmModem的bug)。
3.添加了“生成模仿短信XML文档”功用,即在程序运转目录下生成一个模仿的短信XML文档,可模仿收到一条新短信,以便当业务剖析和调试。

1、更新日期:2015-06-11 00:00:00

2、更新内容:
1.修正源码引见,原来的引见有些错误字,请按“GsmModem\DotNet.相关文档\源码引见.txt”原样全部修正即可。
2.更新2张图片“1.短信操作类例子程序主界面1.jpg”和“2.短信操作类例子程序主界面2.jpg”,图片位置:“GsmModem\DotNet.相关文档\”。
3.添加1张图片“7.处置低序位非打印ASCII字符代码,避免解析特殊短信xml文档出错.jpg”,图片位置:“GsmModem\DotNet.相关文档\”。
4.源代码更新请见附件。

1、更新日期:2015-04-30 00:00:00

2、更新内容:
1.★★★★★修复了发送短信至含有"86"的手机号不能胜利接纳的错误;
2.★★★办法或属性称号修正:
sp_DataReceived => SerialPortDataReceived;
DataRecievedEventHandler => MsgRecievedEventHandler;
DataReceived => MsgReceived;
OnDataReceived => OnMsgReceived
ShortMessage类 => MsgModel类
3.增加短信猫池某模块被断电时的状态判别,避免模块断电时任显现衔接胜利。
4.分别为DecodedMessage和MsgModel类型增加相互转换的办法。
5.删除一些没有用到的办法和类文件。
6.将GsmModem类修正为partial class,使代码更易管理。
7.对代码文件停止优化组织,便当晋级;完善和修正局部注释。
8.将GsmModem.cs类中串口读写超时时间从30秒修正为12秒,避免因模块毛病长时间衔接不上影响用户体验。

1、更新日期:2015-02-09 00:00:00

2、更新内容:
1.51Aspx源码必读文件中针对软件的描绘有文字修正;
2.修复了已知bug;
3.优化了衔接短信猫逻辑,圆满了长短信展现功用,完善了短信猫断电重连功用。

一、源码描绘
这是一款C#短信猫操作类源码——基于AT指令操作串口或USB口短信猫,并且有细致的阐明文档,完善的代码注释。比拟合适二次开发运用,值得引荐一下,感兴味的朋友能够下载运用哦。
二、功用引见
运用AT指令操作短信猫,包括衔接/断开短信猫,收发短信,获取信号强度等,并可依据需求自行编写
规范AT指令对功用停止扩展。
三、留意事项
1.开发环境为Visual Studio 2010,无数据库,运用.net 2.0开发。
2.假如您是新买的SIM卡,请将它装在手机里发送一条测试短信,这样才能够将卡注册胜利。之后,再
将SIM卡放到短信猫里运用,不然会呈现无法运用的状况。普通状况,短信猫会自行设置短信中心号,
若无法自行设置,请手动指定当地的短信中心号(每个中央不一样)。
3.本类库无数据库。
4.本类库是作者深化研讨短信编码后整理完善的,并做过大量短信收发测试,密集发送测试,依据业务
需求测试等,在运用过程中发现了很多意想不到的状况,并给予修正,特别提升了串口通讯的稳定性。
并在某系统中已7*24小时不连续运转近一年时间,运转稳定,请放心运用。
5.需求配合短信猫才干运用,该源码的详细运用办法能够参照阐明文档或源码注释。
6.支持发送长短信,接纳方手时机自动兼并长短信;接纳长短信分条接纳,暂不支持长短信兼并。
7.若您运用的是多口短信猫池,请将GsmModem类生成多个实例,分别对应不同串口号,分别运转于单独的线路中即可
8.源码可用于个人学习和商业程序等。

 

相关下载

点击下载

参与评论