基于Windows mobile智能手机的校园短信网关系统的设计与实现

时间:2011-07-23

  摘 要:提出了将Windows mobile智能手机作为服务器的校园短信网关系统的应用方案。Windows Mobile,是 Microsoft 用于 Pocket PC 和 Smartphone 的软件平台。Windows Mobile 将熟悉的 Windows 桌面扩展到了个人设备中。Windows Mobile是微软为手持设备推出的“移动版Windows”,使用Windows Mobile操作系统的设备主要有PPC手机、PDA、随身音乐播放器等。

  随着社会的进步,学校里的师生之间信息交流也形成了信息化了。网络的快速发展已经为校园里的交流提供了快捷的渠道,但是还不能达到即时信息交流的效果。手机短消息服务提供了随身携带即时信息交流的功能,二者结合起来,PC机通过网络与手机通信。本文提出的校园短信网关系统,将为校园教务人员、教师和学生提供了更加方便的交流平台。

  1 校园短信网关的结构

  1.1 物理结构

  随着便携式计算机系统(含笔记本、亚笔记本、掌上型以及PDA)的广泛应用,对便携式扩展设备的要求也越来越迫切。在扩展卡标准制定之前,计算机能采用的周边设备(如插卡式内存和Modem等)通常都是专用的,不可换成其他厂家的类似产品。许多象Modem这样的设备更是只能插入一台特定型号的计算机,即便同厂出品的其他型号也不能使用。通常,这些周边设备并不设计成可与其他计算机互换,而是作为一种固定设计提供,只适合初装配的那种计算机。

  本校园短信网关系统主要由客户端PC机和WiFi手机组成。客户端PC机通过路由器接到互联网上,WiFi手机通过无线路由器接到互联网上,客户端PC机就可以通过网络与WIFI手机通信,WiFi手机通过GSM网络与其他用户手机通信。实现了客户端PC机通过WiFi手机作为短信网关与手机用户之间的通信。校园短信网关的物理结构图如图1所示。

  1.2 逻辑结构

  校园短信网关客户端包括调用接口、通信协议封装与解析、SocketClient三部分。短信网关采用向上层系统提供调用接口,上层其它系统通过调用接口,向请求中心发送请求(发送短信和接收短信)。在收到上层调用命令后,请求中心将请求命令封装成自定义的通信协议,通过SocketClient将请求发送给短信网关服务器。

  校园短信网关服务器的SocketServer监听端口状态,监听到客户端发送的命令后,就通过通信协议解析模块将命令解析,之后调用Windows Mobile SDK提供的手机底层API执行相应的功能。校园短信网关的逻辑结构图如图2所示。

 

  2 短信收发功能的设计与实现

  2.1 短信发送

  校园短信网关系统的客户端调用短信网关接口,设置收信用户号码、短信内容、发送方式、发送时间等信息,达到向目的用户发送短信的功能。其中,发送方式分单发和群发;发送时间分立即发送和定时发送。

  校园短信网关系统发送短信过程如图3所示。用户在客户端PC机上设置短信发送信息,提交给请求中心,请求中心将短信信息封装后通过Socket发送给服务器。短信网关服务器收到短信发送请求信息后,根据发送时间的不同分为两种不同的处理流程。如果短信发送信息中的发送方式是立即发送,则直接调用短信发送服务将短信发送到目的手机号码;如果是定时发送,则将短信发送信息写入数据库的定时任务表中。系统设置定时器,每隔一段时间查询该数据库的定时任务表,发现定时任务的时间到了,则将该条短信发送出去。

  2.2 短信接收

  用户可以在客户端通过短信网关服务器接收来自不同手机用户发送的短信,达到不同的效果(例如学校师生互动短信、校园活动投票、选举投票,节日祝福等)。

  根据短信接收的功能需求将接收方式分为4种:(1)查看所有收到的短信,类似于手机的收件箱,用户可以查看收到的所有短信;(2)查看一段时间内所有收到的短信。用户在客户端设置起始时间和结束时间,向服务器发送请求该时间段内的所有短信。例如,用户设置了短信投票活动,在活动截至后,需要统计投票结果时,用户向服务器请求接收所有投票短信内容;(3)查看所有未被查收短信;(4)查看数据库接收短信日志表中没有被查收的短信记录。

  用户在PC机客户端接收短信实现的过程如图4所示,在短信网关服务器上设置一个用户信息配置表,该表包含用户名、密码和对应字头。服务器则将所有接收的短信存储在短信接收日志表中。用户在客户端向服务器发出查收短信请求,服务器在用户信息配置表表根据用户名查找该用户对应的字头,然后在短信接收日志表中根据字头查看短信,将所有符合该用户要求的短信封装后发送给用户。

  3 客户端PC机与手机通信协议的设计

  校园短信网关服务器与客户端用UDP包进行通信。UDP数据包的总长度为65 535 B,可以放进一个IP包,使得UDP/IP协议栈的实现非常简单、高效。UDP数据包的总长度减去UDP包头本身所占的8 B,UDP服务中的有效载荷长度为65 527 B。当传输的数据大于65 527 B时,应将数据包分为几个小于65 527字节数据包来传输。校园短信网关服务器与客户端之间的通信协议分为三个部分:建立连接阶段,数据传输阶段和会话结束阶段。

  3.1 建立连接阶段

  (1)客户端请求连接

  CONNECT SMS/1.0\r\n

  表示发出连接请求,自定义的协议类型和版本号

  From:<sms:192.168.0.1:8868;username=stone;password

  =123456>\r\n

  表示发送用户的IP地址端口,用户名和密码

  User-Agent:SMS Client Release 145\r\n\n

  表示客户端的名称和版本

  (2)服务器端响应

  服务器首先验证用户是否合法,若验证合法,则服务器为该用户随机生成一个15位的连接Session-ID,并将该Session-ID发送给客户端,在后续的数据传输阶段和会话结束阶段,客户端发送的请求信息中都应包含Session-ID,以验证用户在协议传输的合法性。

  SMS/1.0 100OK\r\n    连接成功的标识

  Content-Type:application/smsc\r\n    内容的类型,包括文本内容传输和SMS控制协议传输

  Content-Length:0\r\n    内容长度,应大于等于0,小于等于自定义协议的长度值

  Session-ID: 68a354de789ecef\r\n\n    服务器随机产生的15位ID

  若验证不合法,则服务器返回不合法的类型。

  SMS/1.0 Error100\r\n    Error100表示错误类型

  3.2 数据传输阶段

  带传输是指由数据终端设备(DTE)送出的二进制“1”或“0”的电信号直接送到电路的传输方式。基带信号未经调制,可以经过码形变换(或波形变换)进行驱动后直接传输。基带信号的特点是频谱中含有直流、低频和高频分量,随着频率升高,其幅度相应减小,趋于零。基带传输多用在短距离的数据传输中,如近程计算机间数据通信或局域网中用双绞线或同轴电缆为介质的数据传输。②大多数传输信道是带通型特性,基带信号通不过。采用调制方法把基带信号调制到信道带宽范围内进行传输,接收端通过解调方法再还原出基带信号的方式,称为频带传输。

  根据校园短信网关系统的功能需求来定义数据传输的方式,每种方式定义一种通信协议的标识符,例如即时发送的标识符为POST,以即时发送为例说明数据传输阶段的协议内容。

  (1)客户端发送:

  POST SMS/1.0\r\n

  Session-ID: 68a354de789ecef\r\n

  User-Agent:SMS Client Release 145\r\n

  Date:2009-09-10 10:00:00\r\n

  Message-Type:IMMEDIATE,GROUP\r\n

  From: <sms:192.168.0.1:8868;username=stone>\r\n

  To: 13636066060,13476240028,13884053687\r\n

  Content:Happy Teachers’Day!\r\n

  Content-Type:application/text\r\n

  Content-Length:N\r\n\r\n

  (2)服务器反馈信息:

  如果服务器处理失败,则返回错误编号:

  SMS/1.0 Error400\r\n

  如果服务器处理成功,则返回成功信息编号:

  SMS/1.0 200OK\r\n

  3.3 会话结束阶段

  会话结束有两种情况,一是客户端出现异常情况,在规定时间内没有反馈信息,则服务器关闭连接销毁Session-ID;二是客户端正常,且在会话结束后,由客户端在超时允许范围之内发出会话结束请求。

  (1)客户端超时

  服务器不做任何发包工作,关闭通信连接,销毁Session-ID,清除此次会话的相关资源。

  SMS/1.0 Error400\r\n  表示客户端超时

  (2)客户端发起会话结束请求

  客户端发送:

  BYE SMS/1.0\r\n   表示结束会话的标识

  Session-ID: 68a354de789ecef\r\n\r\n

  服务器反馈:

  SMS/1.0 200OK\r\n  表示会话结束成功

  Session-ID: 68a354de789ecef\r\n\r\n

  本文所设计的校园短信网关系统通过无线网络实现了PC机与手机之间的通信,其重点是通信协议的定义以及对短信收发请求和短信内容的封装与解析。其次,本短信网关系统中调用了Windows Mobile SDK提供的手机短信收发接口函数,有利于将来校园短信网关系统的功能扩展,该系统成本低,方便,实用,非常适合学生实用。
  

上一篇:一种无线数传设备(DTU)在组态软件中的实现
下一篇:有源电力滤波器在供电电网中的运用

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料