`

如何用windows mobile构建你自己的SMS服务器 - 基础篇

阅读更多

硬件:

  • Windows Mobile 5或者6的智能电话一部
  • 可以发送短信息的SIM卡一张(路人甲:废话! me:  -。-# 偶只想说详细点怒。。。)
  • 电脑一台(路人乙:靠!正经点!   me: -。-!哦~~!)
  • 连接手机和电脑的USB连接线一根
  • 另外一台手机接收信息

软件:

按缺省值安装。。。(路人丙: NND!这么多东西啊! me: 微软怒。。。-。-#。。。

接下来打开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.         }  

路人丁: 好牛X的手机号码啊。。。卖不? me:-。-# 不是偶滴号码。。。纯test用。。。

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

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

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

P.S. 放到flex圈里是有原因的, 接下来的几篇看了就知道了。。。(当然是如果能成功的话。。。^O^//)

分享到:
评论
2 楼 blueclothes 2007-09-01  
顶一下,挺好
1 楼 lordhong 2007-08-19  
忘记写了。。。参看文献:
How to Build an SMS Service:
http://www.oreilly.com/catalog/9780596515133/index.html

相关推荐

    SMS_mobile.zip_SMS-VC_SMS_mobile_sms_windows mobile MFC_windows

    标题中的“SMS_mobile.zip_SMS-VC_SMS_mobile_sms_windows mobile MFC_windows”暗示了这是一个关于在Windows Mobile平台上使用MFC(Microsoft Foundation Classes)进行SMS(Short Message Service,短信服务)编程...

    SendSMS.rar_windows mobile_windows mobile sms_短信 csharp

    总之,利用Windows Mobile的SMS Service API和C#编程语言,开发者可以轻松地在Windows Mobile 2003环境下构建具有短信发送功能的应用。通过理解这些API的工作原理和使用方法,开发者可以为移动设备开发出更加实用和...

    windows mobile通信-串口-红外-蓝牙-RAPI

    在Windows Mobile操作系统中,通信技术是开发者和用户都必须了解的关键部分,特别是在嵌入式设备和移动设备的应用开发中。本文将深入探讨标题所提及的四个主要通信方式:串口、红外、蓝牙以及Remote Application ...

    SMS.rar_mobile csharp_windows mobile 短信_windows sms

    首先,Windows Mobile SMS功能的核心是利用.NET Compact Framework中的`System.Messaging`命名空间,它提供了`Message`类来处理短信。然而,不同于桌面版的Windows,Windows Mobile并不直接支持发送短信,我们需要...

    windows mobile 6.0模拟器使用

    Windows Mobile 6.0 模拟器使用 Windows Mobile 6.0 模拟器是一个功能强大的工具,可以模拟企业邮件收发,主要用于测试和开发目的。在本文中,我们将详细介绍如何设置 Windows Mobile 6.0 模拟器来收发企业电子邮件...

    funambol-windows-mobile-sync-client-user-guide.pdf

    Funambol Windows Mobile Sync Client 是一个功能强大且易于使用的同步解决方案,可以帮助用户高效地在 Windows Mobile 设备与 Funambol 服务器之间同步各种类型的数据。通过遵循上述指南,您可以轻松地安装、配置并...

    windows mobile开发环境搭建

    ### Windows Mobile 开发环境搭建及应用开发入门 #### 一、开发环境搭建 **1. 开发准备** 在开始Windows Mobile应用开发之前,首先需要准备一套完整的开发环境。以下是搭建Windows Mobile开发环境所需的主要步骤...

    Windows Mobile 5.0 SDK 下载地址收藏

    ### Windows Mobile 5.0 SDK 下载地址收藏 #### 知识点概述: 1. **Windows Mobile 5.0 SDK**:此版本的SDK(软件开发工具...通过上述提供的下载链接,开发者可以轻松获取所需的开发资源,并开始构建自己的移动应用。

    20070411am--实例开发Windows Mobile进阶:短信开发大全

    根据给定文件的信息,我们可以详细地探讨Windows Mobile操作系统上的短信开发技术。这将涉及如何使用API方式和POOM方式发送短信、以及如何使用IMailRuleClient接口接收短信等内容。 ### 发送短信 #### API方式 在...

    Windows Mobile 截获SMS消息实例

    在Windows Mobile平台上,开发人员有时需要实现特定的功能,比如监控或处理接收到的SMS(Short Message Service)消息。本文将详细讲解如何在Windows Mobile设备上截取并处理SMS消息,这是一个非常实用的技术,广泛...

    windows mobile device center 64位

    总的来说,Windows Mobile Device Center是64位Windows用户管理和维护Windows Mobile设备的重要工具,虽然随着Windows Phone的出现,它的角色逐渐淡化,但对于那些仍在使用Windows Mobile设备的用户,WMDC仍然是不可...

    Windows Mobile开发实验

    ### Windows Mobile开发实验知识点 #### 实验一:使用ActiveSync连接Smartphone与PC机 **实验目的** 通过本次实验,学习如何使用ActiveSync在Smartphone与PC之间建立连接。 **预备知识** - 了解Windows Mobile...

    Windows Mobile使用C#发送短信息程序

    通过以上步骤,开发者可以使用C#和Windows Mobile提供的API在移动设备上构建一个简单的短信发送程序。这个程序的源代码很可能包含了这些基本元素,通过`SendSMS`文件可以查看具体的实现细节。学习和理解这些概念和...

    Windows Mobile-based Device安装驱动所需要的系统文件

    在Windows操作系统中,安装Windows Mobile-based Device的驱动程序是一个关键步骤,确保设备能与电脑进行有效通信和数据同步。这个过程涉及到多个系统文件,这些文件是驱动程序运行的基础。了解这些文件及其作用对于...

    Python库 | pl_tmobile_sms_gateway-0.1.1-py3-none-any.whl

    标题中的"Python库 | pl_tmobile_sms_gateway-0.1.1-py3-none-any.whl"表明我们正在讨论一个名为`pl_tmobile_sms_gateway`的Python库,其版本为0.1.1。这个库可能是一个专为与T-Mobile短信网关交互而设计的工具。"py...

    SMS with the SMS PDU-mode

    PDU模式的实际操作涉及使用AT指令集对PDU结构进行构建和解析。例如,发送一条PDU格式的短信可能涉及构造包含所有必要字段的PDU,然后通过`AT+CMGS`命令将其发送出去。 #### 八、编码方案与编程实现 PDU模式下的...

    Windows Mobile设备中心(64位)

    而"MicrosoftWindowsMobile设备中心forVista64-bit__PCHome软件介绍.txt"则是一份文本文件,很可能包含了对Windows Mobile设备中心的详细说明,包括软件的使用方法、注意事项以及可能的系统要求。 在实际使用过程中...

    Windows Mobile windows7设备中心下载

    众所周知,在windows7操作系统中已经不需要安装active sync ...清您下载windows mobile center for windows7(vista也是如此)软件,然后将手机与电脑连接即可.亲自操作,该方法适合于任何版本的windows mobile 手机系统.

    WindowsMobile-短信开发-视频教程

    在Windows Mobile平台上进行短信开发是一项重要的技能,尤其对于那些致力于为移动设备构建应用程序的开发者而言。这个"WindowsMobile-短信开发-视频教程"提供了一次深入学习和掌握该技术的机会。专家通过视频教学的...

Global site tag (gtag.js) - Google Analytics