很早以前,就注意到一些手机短消息的发送软件,当时觉得那是多么的神奇,可是从来没有想过去开发一个自己的手机短消息软件.临近毕业,要做毕业论文,我选的毕业课题是机房安全系统的开发,主要是机房环境系数的监测以及报警功能的实现,其中就包括手机短消息报警和拨号报警.
手机的短消息实现目前有三种方法:
1.通过移动网关发送短消息,使用该方法不需要附加的硬件,但是需要到电信部门申请网关,比较适用于一些大型的网络通讯公司开发,目前华为,中兴等公司就做的这方面的工作,并且还有相应的开发包供开发人员使用.
2.在电脑上通过gsm modem向手机发送中文短消息,这是目前比较适合于小项目开发的一种方法,所需硬件包括一款手机,提供gsm modem,以及相应的数据线或是红外线适配器.该方法编码简单,只需对at指令和串口编程比较熟悉就可以实现,而且对硬件需求不高,并能自动收发短消息.
3.通过一些网站上提供的短信发送功能来实现,比如新浪网,网易都提供这方面的服务,这种方法是这三种方法中实现起来最简单,所需资源最少的,但是对于网站的依赖性太强,对网络的依赖同样无法避免,不适用于项目开发.
通过第二种方法收发短消息又分为三种模式:block模式、text模式和pdu。使用block机生产厂家提供驱动支持,现在还没有发现哪个厂家公布支持这种短信发送模式,而pdu模式开发起来比较复杂,并且需要编写专门的函数来将文本转换为pdu格式,比较繁琐.相对而言,应用text模式开发及方便也简单,是一种不错的选择,不过使用text模式开发只能发送ascii码,对于中文的unicode码不能发送.
使用text模式发送短信其实很简单,只要对于at指令有基本的了解,就能编写出短消息的发送程序,可是一直以来介绍该方法的文章却少之又少,很多人认为使用该方法太简单,不值一提.不过对于简单的应用来说,该方法也不失于一种不错的选择.
先在项目中添加mscomm控件,一般的部件栏中可能没有列出mscomm控件,可以过右击部件栏,选择”部件”,或是通过在菜单中的”工程”选择”部件”,然后选中microsoft comm control 6.0即可.添加了mscomm控件后,可以设置一些基本的参数.如果你使用nokia的手机,你还必须安装data suite(可以到nokia的开发论坛上去下载一个),然后mscomm的commport选择3;如果你使用其他手机,采用红外线接口,你必须安装红外线驱动程序.选择相应的端口.下面的代码是一些基本参数的设置:
mscomm1.settings=”9600,n,8,1” ‘9600波特,无奇偶校验,8位数据,一个停止位
mscomm1.inputlen=0 ‘读入整个缓冲区
mscomm1.portopen=true ‘打开端口
发送短消息的代码如下:
mscomm1.output = "at+cmgf=1" + vbcr ‘设置发送的模式,注意:一定要加上 vbcr
mscomm1.output = "at+csca=" & chr$(34) & "8613010341500" & chr$(34) & ",129" + vbcr ‘8613010341500是短消息中心,各地的号码不一样,必须设置当地的短消息号码
mscomm1.output = "at+cmgs=" & chr$(34) & "13057575064" & chr$(34) & ",129" + vbcr ‘13057575064是对方手机号
mscomm1.output = "test" & chr$(26) ‘chr$(26)是ctr+ z
以上是简单实现短消息,你可以根据at指令集结合vb的串口控件开发出更加完善的程序和功能丰富的应用程序,如接收短消息,拨号等等.
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器