zoukankan      html  css  js  c++  java
  • GMS Modem 短信收发组件

    测试代码: https://files.cnblogs.com/dyj057/Gms%20Modem短信收发组件.rar

    短信的部署方案很多种,我们现在介绍3种主要的部署方案。客户可以在这几个方案中选择一个来实施,完成短信的应用。

    GMS Modem的部署

    购买硬件设备
        GMS Modem(短信模块)是一个硬件设备,通过串口与计算机通信,实现短信的发送。这个硬件都是可以在市场上很容易买到的,价格在1000-2000元之间。最好选用西门子TC35i和MC35为核心的短信模块,我们也提供短信模块的硬件。

    买一张SIM卡
        其实GMS Modem相当于一个手机,需要一张SIM卡才能工作。可以选择那些包本地通话费的收费类型,那样可以极大地节约短信发送的开支。比如:一张卡50元包本地通话费,即使你每月发送100万条短信,它也只花费了50元。每条短信的成本非常的低。

    连接
        把卡装入GMS Modem,然后使用模块自带的串口通讯线与服务器的串口连接,再接通电源,程序,设定GMS Modem的串口号,再启动短信服务,就完成了整个的部署方案。

    SP 平台的部署
    SP平台的部署就很复杂了,需要专业人员的参与,这里就不详细介绍了。

    SMS Web Service
    SMS Web Service不需要部署,只需要了解它的使用方法就可以了。比如新浪的短信发送服务:

    新浪发送短信的Web Service资源的该问地址为:http://smsinter.sina.com.cn/ws/smswebservice0101.wsdl,这是一个WSDL文件格式,您可以直接在您的VS.NET环境中直接添加Web引用,把该地址输入即可。

    资费标准请参看新浪无线网站上的相关说明,应该是一条两角钱。由于其后台可能使用了消息队列机制,在繁忙的时候,可能会有几秒钟延迟。

    如果是长期使用,收费有点贵。而且还必须与Internet连接。

    下面给出一个利用SMS Modem的发送短信的组件:

    主要利用GmsModemSvr的这个方法完成短信的发送.这些方法是:

    AddModem 添加一个Modem到服务器,如果已经加入到服务器中,就不能再添加了。 
    DeleteModem Modem工作组中删除一个Modem 
    Dispose 释放非托管资源 
    SendSms 发送短信,如果服务器已经启动,就启动发送线程,没有就直接的加入到发送队列中。 
    Start 运行服务,连接所有的Modem 
    Stop 停止服务,清理系统资源

    现在举例说明:
    1 初始化设备
    GModemSvr svr = new GModemSvr();

     //初始化了一个从串口1连接的Modem,默认使用57600的波特率
     //如果你有多个Modem,也可以加入,系统系统发送短信的能力会成倍的提高,
     //它支持多个Modem之间的负载平衡,最大限度的利用系统资源
    svr.AddModem(new IBMS.SMS.GmsModem(1));

    //注册新短信的接收处理方法
    svr.OnReceivedSms += new RecvedSms(form.OnRecvedSms);


    //开始运行,发送接收短信开始
    svr.Start();

    2 发送短信
    //构造一条新短信
    SendSms sms= new SendSms("8613500000000","收到短信给我回一个");

    //发送短信,后面的回调函数是这条新短信发送完成后,结果的处理
    svr.SendSms(sms,new SendSmCallBack(form.OnSendSmEnd));

    3 短信接收处理函数
    public void  OnRecvedSms(object receiver, ReceivedSms receivedSms)
      {
       Console.WriteLine("recv ms id"+receivedSms.Id);

       Console.WriteLine("from:"+receivedSms.FromPhoneNumber);

       Console.WriteLine("message:"+ receivedSms.Content);

      }
      
    不包含类库的源代码,在这里表示抱歉
    在测试源代码中包含类库的说明文档,不明白的地方可以参看,也可以给我发邮件.

  • 相关阅读:
    Java第三季
    LeetCode(10)Regular Expression Matching
    LeetCode(9)Palindrome Number
    shell基础编程
    LeetCode(8)String to Integer (atoi)
    使用python绘制词云
    我的书单
    LeetCode(7)Reverse Integer
    获取新浪微博的Access_token
    c语言中,常见数据类型的字节数
  • 原文地址:https://www.cnblogs.com/dyj057/p/167125.html
Copyright © 2011-2022 走看看