楼主
方小琪   发表于 2017-6-25 18:11:27 |栏目: |分类:【荣誉】C#源码 |只看大图
一、源码描述
      这是一款C#短信猫操作类源码——基于AT指令操作串口或USB口短信猫,并且有详细的说明文档,完善的代码注释。比较适合二次开发使用,值得推荐一下,感兴趣的朋友可以下载使用哦。   
二、功能介绍
      使用AT指令操作短信猫,包括连接/断开短信猫,收发短信,获取信号强度等,并可根据需要自行编写
      标准AT指令对功能进行扩展。
三、注意事项
      1.开发环境为Visual Studio 2010,无数据库,使用.net 2.0开发。
      2.如果您是新买的SIM卡,请将它装在手机里发送一条测试短信,这样才可以将卡注册成功。之后,再
      将SIM卡放到短信猫里使用,不然会出现无法使用的情况。一般情况,短信猫会自行设置短信中心号,
      若无法自行设置,请手动指定当地的短信中心号(每个地方不一样)。
      3.本类库无数据库。
      4.本类库是作者深入研究短信编码后整理完善的,并做过大量短信收发测试,密集发送测试,根据业务
      需求测试等,在使用过程中发现了很多意想不到的情况,并给予修正,特别提升了串口通信的稳定性。
      并在某系统中已7*24小时不间断运行近一年时间,运行稳定,请放心使用。
      5.需要配合短信猫才能使用,该源码的具体使用方法可以参照说明文档或源码注释。
      6.支持发送长短信,接收方手机会自动合并长短信;接收长短信分条接收,暂不支持长短信合并。
      7.若您使用的是多口短信猫池,请将GsmModem类生成多个实例,分别对应不同串口号,分别运行于单独的线路中即可
      8.源码可用于个人学习和商业程序等。
一、更新记录
1、更新日期:2015-02-09 00:00:00
2、更新内容:
1.51Aspx源码必读文件中针对软件的描述有文字修改;
2.修复了已知bug;
3.优化了连接短信猫逻辑,完美了长短信展示功能,完善了短信猫断电重连功能。
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-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-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-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、更新日期:2016-01-19 00:00:00
2、更新内容:
      1.在DotNet.GsmModem类中添加了获取IMEI和IMSI号的方法。
      2.添加短信猫池示例代码,代码所在界面文件为“FormGsmModemPool”。
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-02-23 00:00:00
2、更新内容:
  1.修改了解析特服号发来的长短信偶尔不能解析的错误(普通手机号收发长短信不会出现此错误);
      2.升级核心组件DotNet.GsmModem,在构造函数中新建参数“isAddPrefixOfMsgContent”(是否在收到的长短信子条目前添加序号前缀);
      3.可指定是否自动合并接收的长短信,可指定是否在接收到的长短信子条目前添加序号前缀,如“[1/2]短信内容”。注意:合并长短信并非核心组件DotNet.GsmModem的功能,而是应用层面的功能,示例界面为FormServer。
      ★说明:建议老用户升级(参考第更新内容1),升级后需要修改代码(参考更新内容2)。
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-03-17 00:00:00
2、更新内容:
1.优化FormSinglePortGsmModemServer功能:一是发送短信失败后更新标识,以防重复发送曾经发送失败的短信;二是编写统一处理未捕获异常,保证程序稳定性;三是启动服务程序时统一全部读取未识别的长短信。
      2.优化FormGsmModemPoolDbInterface功能:启动服务程序时统一全部读取未识别的长短信。
      3.修改短信猫核心组件DotNet.GsmModem为版本V3.2016.03.15:一是精确识别手机号,小灵通号和特服号,并采取不同编码;二是优化串口读取数据时产生超时错误的代码,避免因超时时重新连接短信猫出错。   
      4.优化部分代码,修复读取所有短信的方法调用时参数顺序的错误。  
      5.新增说明文档 “DotNet.相关文档\短信猫池数据库接口服务程序操作说明.doc”
      ★建议老用户谨慎升级。
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-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-05-23 00:00:00
2、更新内容:
修复用户编码识别为USC2编码时的不准确BUG(使得部分USC2编码的短信不能被正常解码)
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-08-02 00:00:00
2、更新内容:
1.修复长短信解析的BUG。
2.修改DotNet.Common项目的源码集成到DotNet.GsmModem中,方便用户只需要引用DotNet.GsmModem一个项目就可以操作短信猫。
3.修改SerialPortDataTransferEventArgs中串口传输数据变量名为Text。
4.优化判断长短信接收超时方法,任意一条子条目接收超时,均判断为长短信接收完成。
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、本站源码全部来自于互联网,如有侵权,请联系网站客服或者发送邮件到xhymsq@qq.com删除
2、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和小坏源码社区的同意
3、本站源码仅供会员测试研究技术使用,禁止从事商业用途,如有违者,自行承担法律责任
4、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
5、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
6、小坏源码社区管理员和版主有权不事先通知发贴者而删除本文

回复 只看该作者 使用道具 举报

Crephardapoff

一级小白兔

沙发
Crephardapoff   发表于 2017-6-25 18:16:21 |栏目:
此帖仅作者可见

只看该作者 使用道具 举报

是多少的速度

论坛元老

板凳
是多少的速度   发表于 2017-6-25 18:34:37 |栏目:
此帖仅作者可见

只看该作者 使用道具 举报

无尘的天

论坛元老

地板
无尘的天   发表于 2017-6-25 22:05:17 |栏目:
此帖仅作者可见

只看该作者 使用道具 举报

huangzy

论坛元老

5#
huangzy   发表于 2017-6-25 22:11:15 |栏目:
此帖仅作者可见

只看该作者 使用道具 举报

fax518

新手上路

6#
fax518   发表于 2017-6-26 10:05:33 |栏目:
此帖仅作者可见

只看该作者 使用道具 举报

973540069

论坛元老

7#
973540069   发表于 2017-6-26 10:05:44 |栏目:
此帖仅作者可见

只看该作者 使用道具 举报

light

中级会员

8#
light   发表于 2017-6-26 20:57:24 |栏目:
此帖仅作者可见

只看该作者 使用道具 举报

东方时尚大方

论坛元老

9#
东方时尚大方   发表于 2017-6-27 01:26:09 |栏目:
此帖仅作者可见

只看该作者 使用道具 举报

流年

荣誉VIP

10#
流年   发表于 2017-6-27 08:56:35 |栏目:
此帖仅作者可见

只看该作者 使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

作者相关信息

更多discuzx模板

精品推荐

极品资源

原创模板

下载排行

热门标签

  

     
您需要 登录 后才可以回复,没有帐号?立即注册 使用QQ帐号登录 使用新浪微博帐号登录
高级模式意见反馈自定内容自定内容
 
 
技术支持
加入VIP
链接失效
VIP交流群
源码建站交流
源码合买群
源代码合买
免费源码交流群
小坏源码社区交流群
工作时间:
9:00-21:00
 
快速回复 返回顶部 返回列表