GMS Modem 短信收发组件(C#版本)

80酷酷网    80kuku.com

  

测试代码: http://www.cnblogs.com/Files/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资源的该问地址为:,这是一个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);

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

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: