当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]本短信网关系统由PC机和WiFi智能手机组成,PC机与WiFi智能手机之间通过自定义的通信协议进行数据通信。

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

1 校园短信网关的结构

1.1 物理结构

本校园短信网关系统主要由客户端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发送给服务器。短信网关服务器收到短信发送请求信息后,根据发送时间的不同分为两种不同的处理流程。如果短信发送信息中的发送方式是立即发送,则直接调用短信发送服务将短信发送到目的手机号码;如果是定时发送,则将短信发送信息写入数据库的定时任务表中。系统设置定时器,每隔一段时间查询该数据库的定时任务表,发现定时任务的时间到了,则将该条短信发送出去。例如,定时任务表中的一条记录为:[时间2009-09-10 10:00:00 手机号码138********,内容“教师节快乐”],短信网关服务器的定时器扫描任务表时,发现该定时时间到或者超过的时间在允许误差范围内,就将该短信发送至目的手机。

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 数据传输阶段

根据校园短信网关系统的功能需求来定义数据传输的方式,每种方式定义一种通信协议的标识符,例如即时发送的标识符为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提供的手机短信收发接口函数,有利于将来校园短信网关系统的功能扩展。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭