构建你自己的SMS服务器

构建你自己的SMS服务器
作者:佚名    文章来源:转载   
 
<script language="javascript" src="/baidu.js" type="text/javascript"></script> <script language="JavaScript" type="text/javascript">cpro_client='gootsly_cpr';cpro_template='text_default_500_200';cpro_h=200; cpro_w=500;cpro_flush=4;cpro_cbd='#trans';cpro_cbg='#trans';cpro_ctitle='#0000ff';cpro_cdesc='#000000';cpro_curl='#FFFFFF';cpro_clink='#ffffff';</script> <script language="JavaScript" src="http://cpro.baidu.com/cpro/ui/cp.js" type="text/javascript"></script>
-
硬件:
  • Windows Mobile 5或者6的智能电话一部
  • 可以发送短信息的SIM卡一张(路人甲:废话! me:  -。-# 偶只想说详细点怒。。。)
  • 电脑一台(路人乙:靠!正经点!   me: -。-!哦~~!)
  • 连接手机和电脑的USB连接线一根
  • 另外一台手机接收信息
软件
按缺省值安装。。。(

接下来打开VS,可以发现有个新的项目类型: SMS Service

建立新项目AIRSMS(为什么取这个名字哦?O.o 保密。。。)
生成的Form1.cs中包括了所有的boiler-plate代码
c# 代码
 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.ComponentModel;  
  4. using System.Data;  
  5. using System.Drawing;  
  6. using System.Text;  
  7. using System.Windows.Forms;  
  8. using MSRI.SmsService;  
  9. using MSRI.HelperClasses;  
  10. namespace AIRSMS  
  11. {  
  12.     public partial class AIRSMSClient : Form  
  13.     {  
  14.         public SmsServiceClass SmsService = null;  
  15.         public AIRSMSClient()  
  16.         {  
  17.             InitializeComponent();  
  18.             try  
  19.             {  
  20.                 SmsService = new SmsServiceClass("AIRSMS");  
  21.                 SmsService.OnDeliveryReportReceived += new OnDeliveryReportDelegate(SmsService_OnDeliveryReportReceived);  
  22.                 SmsService.OnSmsReceived += new OnSmsReceivedDelegate(SmsService_OnSmsReceived);  
  23.                 // Use SmsService.SendSms(SmsClass Sms) to send a Sms  
  24.             }  
  25.             catch (Exception ex)  
  26.             {  
  27.                 MessageBox.Show(ex.Message);  
  28.                 Application.Exit();  
  29.             }  
  30.         }  
  31.   
  32.         //  
  33.         // Your Code for Processing a received Sms goes here  
  34.         //  
  35.         SmsResponseClass SmsService_OnSmsReceived(SmsClass SmsMessage)  
  36.         {  
  37.             // Compose a Response a list of Response Message and return back the Array Class  
  38.             // Please do not use SmsService.SendSms() Function to send message from this function  
  39.             SmsResponseClass Response = new SmsResponseClass();  
  40.             SmsClass SmsItem = new SmsClass();  
  41.             SmsItem.Body = "Your Response";  
  42.             SmsItem.Number = SmsMessage.Number;  
  43.             Response.AddResponseSms(SmsItem);  
  44.             return Response;  
  45.         }  
  46.   
  47.         //  
  48.         // Your Code for Processing a deliveryreport goes here  
  49.         //  
  50.         void SmsService_OnDeliveryReportReceived(DeliveryReportClass DeliveryReport)  
  51.         {  
  52.             if (DeliveryReport.Status == DeliveryStatusEnum.Sent)  
  53.             {  
  54.                 // Message Sent  
  55.                 Console.WriteLine("msg sent!");  
  56.             }  
  57.             else  
  58.             {  
  59.                 // Message Sent Failed, You may want to retry  
  60.                 Console.WriteLine(DeliveryReport.MessageID + " -- " + DeliveryReport.Status);  
  61.             }  
  62.         }  
  63.     }  
  64. }  
SmsService_OnSmsReceived 是处理收到短信息的时候的method
SmsService_OnDeliveryReportReceived 是处理发送成功后的method
c# 代码
 
  1. SmsService = new SmsServiceClass("AIRSMS");    
  2. SmsService.OnDeliveryReportReceived += new OnDeliveryReportDelegate(SmsService_OnDeliveryReportReceived);    
  3. SmsService.OnSmsReceived += new OnSmsReceivedDelegate(SmsService_OnSmsReceived);    
这里是设置这些事件的delegate。

现在在Form1的设计模式中,拖进一个textbox (txtSMS)和一个button。在button的click事件的时候我们发送textbox里面的txt到指定的手机号码:

c# 代码
 
  1. private void btnSend_Click(object sender, EventArgs e)  
  2.         {  
  3.             SmsClass smsMO = new SmsClass();  
  4.             smsMO.Body = txtSMS.Text + " -- dev by Codelicious...";  
  5.             smsMO.Number = "138xxx88999";  
  6.             SmsService.SendSms(smsMO);  
  7.         }  

    这里就把txtSMS的text发到指定的手机号码了。 “ -- dev by Codelicious...” 是另外加的信息, 可以是广告什么的, 嘿嘿!

    运行。。。 然后输入你的信息。。。 然后按button, 嘿, 很快另外那台手机就收到sms了。

    当然, 这是第一步, 还有很多功能可以增加, 比如validation,msg历史等等。。。

    P.S. 放到flex圈里是有原因的, 接下来的几篇看了就知道了。。。(当然是如果能成功的话。。。^O^//)
 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值