第29卷第6期2009年11月
孝感学报
JOURNALFXIAOGANIVERSITYOUN
VOL.29NO.6NOV.2009
基于JAVA的短消息
系统的
设计与实现
朱,王一举超
(长江大学
网络信息中心,湖北荆州434023)
摘:讨论了基于java的短消息系统,该系统通过隐藏短消息
通信协议的细节,为应用开要发提供了统一的接口。同时,系统流程,应用接口和其他的关键部分的实现也作了相应的讨论。关键词:JAVA;短消息;设计中图分类号:TP391文献标识码:A文章编号:1671-2544(2009)06-0063-03
随着通信技术的突飞猛进,信息交流已经突破了时间和空间的限制,但在执行过程中,由于各国,各地区的
经济发展水平不同,基础设施建设水平差异较大,GPS、无线上网等先进技术并没有得到广泛的应用。技术发展的不均衡必将成为实时信息的应用瓶颈。近些年来,移动短信业务在中国取得了飞速的发展。这种只有70个字的汉字交互方式极大的丰富了人们的交流渠道。但从目前的显示数据来看,短消息应用大部分还局限于个人消费领域[2]。通过短信与
计算机系统的集成,可以充分地发挥短消息的简单、便捷、及时的特点,以弥补计算机系统在与客户交互上的不足。本文充分发挥JAVA面向对象的特点,隐藏短消息的通信细节,提供了统一的交互接口,大大方便了计算机系统与短信的整合。
Stringflag;//类型-发送还是接收publicvoidsend(Stringphone,Stringmsg)//发送消息publicvoidsend(Rowrows)//发送单条记
录数据形态的消息publicvoidsend(Rowsrows)//发送记录集数据形态的消息publicvoidread_judge(Stringindex)//判断SIM卡中的某位置是否为空publicvoidread_judge(Stringbegin,Stringend)//判断SIM卡中的某段位置是否为空publicRowread(Stringindex)//以单条记录的形式获取SIM卡中的某位置的短消息publicRowsread(Stringbegin,String)//以记录集的形式获取SIM卡中的某段位end置的短消息publicvoiddel(Stringindex)//删除SIM卡中某位置的消息publicvoiddel(Stringbegin,Stringends)//删除SIM卡中某段位置的消息publicvoidwait(inti)//等待时间根据系统一般需求,流程设计见图1。在具体的应用中,一般要建立发送队列。这里可以使用数据库中专门的一张表来处理发送队列的
问题。表的设计如图2。客户端将需要发送
1基于协议的对象封装与系统设计
参考短消息的PDU格式规范短信应用,短信对象设计如下。My_sms:短信对象
Stringphone;//电话号码Stringmsg;//短信内容Stringtime;//发送或接收时间Stringdegree;//短信优先级别
[1]
,针对一般的
收稿日期:2009-06-23)作者简介:朱(1980—,男,湖北洪湖人,长江大学网络信息中心助理研究员,硕士。超)王一举(1961—,男,湖北仙桃人,长江大学网络信息中心教授,硕士生导师。
—63
—
朱,王一举超
信号码一般前面含有86”“字样,将该段字符去掉,然后将得到的手机号码与数据库中用户的身份信息进行匹配,从而组成新的数据结构。一般的数据结构如图3所示。它主要包括发信人的身份信息,如、单位,还有其他的如时间、内容等。这样便于系统的查看与管理。
图3接受短信的数据组成
SIM卡读取完毕后,然后重新返回,进行新一
轮的短信判断。数据流程的主要代码如下:publicvoidrun_task()
{(System.out.println“#开始新的循环,等5)秒”;mysms.wait(5);if(mypool.pool_judge())//如果有数据要发送{