首页 > 开发 > 综合 > 正文

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

2024-07-21 02:26:21
字体:
来源:转载
供稿:网友
中国最大的web开发资源网站及技术社区,

测试代码: 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资源的该问地址为: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);

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表