新闻中心

EEPW首页 > 消费电子 > 设计应用 > IM软件在智能电话终端上的设计与实现

IM软件在智能电话终端上的设计与实现

作者:时间:2010-01-12来源:网络收藏
在经过数百年的发展之后,已从最早的简单接听和拨打设备,成为集录音留言、自动应答、个人信息管理和拨号上网等诸多功能于一身的使人们能够更加高效、及时地处理周边的各种信息,满足不断发展的信息化要求。
  (Instant Messaging)即即时消息传递,它是目前网络上比较流行的杀手级应用程序(Killer Application),如腾讯的QQ、Microsoft的MSN、AOL的A和ICQ等。无论在什么地方,使用何种设备(如PC、手机、PDA和Web TV等),只要接入Internet,就能够同其他用户进行实时的消息和文件传递,甚至进行语音和视频交流。通过拨号接入Internet,就能在电话的原型机上基本的网络功能,如浏览器、电子邮件等。如果能在智能电话终端上的客户端,用户通过电话就可以进行实时交谈,进而进一步完善了其网络功能,从而增强了该产品在市场上的竞争力。
1 IM软件的方案
1.1 硬件平台
  智能电话终端的原型机运行在基于ARM920T内核处理器S3C2410的嵌入式开发板上,该开发板由于性能优异、性价比高,因此适合于开发各类高端的手持、小型终端以及各种网络应用产品。它的标准工作频率为203MHz,核心板上的FlashROM和SDRAM均为64MB,并支持1024*768的液晶显示器,附带USB键盘和鼠标,可运行嵌入式Linux操作系统。为了降低整个系统的成本,过程中将该开发板改造成具有32MB的FlashROM和32MB的SDRAM的产品,并为其配置了支持16阶灰度的320*240液晶显示器。
1.2 IM软件的功能
  近年来较为流行的即时消息传递软件很多,它们所提供的功能大同小异。这些客户端软件的根本区别在于客户机和服务器之间的通信过程分别基于不同的即时消息传递协议。通常,每一种即时消息传递软件都具有账号管理、联系人管理、即时消息收发等基本功能,在此基础上又有各自不同的特色功能,如语音聊天、视频聊天和表情管理等。
  在众多的即时消息传递软件中,MSN是最受欢迎的软件之一,其通用性和齐全的功能特性得到了用户的广泛肯定。在许多平台上都有由第三方开发的MSN客户端软件,人们对其协议内容早已作了深入的研究和详细的分析,这对开发人员具有极大的参考价值,能够使开发周期大大缩短。本文介绍MSN客户端的一些基本功能的方法,包括用户登录、联系人管理和即时消息收发和显示等。
1.3 MSN协议及其模型
  MSN协议是采用C/S模型的应用层协议,其命令采用字符形式。客户端应用程序必须以协议规定的顺序在规定的时间内向服务器发送请求,接收应答信息,通过这种机制实现服务器与客户端的通信。由于客户端软件并非始终与单一服务器进行交互,MSN协议要求其客户端在不同的阶段与不同的服务器建立连接,传输相应的账号或数据信息,因此首先必须了解MSN服务器的类型和作用。
  MSN服务器分为通知服务器(Notification Server,NS)和接线服务器(SwitchBoard Server,SBS)两种。前者负责用户的登录及身份验证工作,包括联系人列表的增加、删除、修改和状态等信息都通过NS传输;后者则用于提供即时通信服务,即用户聊天消息的收发和文件的传输等都是由SBS实现的。MSN的通信模型如图1所示,客户端在登录时首先与NS建立连接,将用户账号和密码信息加密后发送给NS,再由NS进行身份验证。若验证通过,则NS把用户登录到SBS的Cookie令牌以及该用户的联系人列表和相应的状态信息发送到客户端,由客户端软件进行显示。当用户开始同联系人进行聊天会话时,客户端同SBS建立连接,将从NS得到的Cookie令牌交给SBS,SBS验证Cookie令牌的有效性,验证通过后,客户端就可以发送和接收即时消息及文件。最后在用户退出会话后,关闭同SBS的连接,此时只存在与NS的连接。图中的虚线表示NS和SBS的通信过程。由于对客户端来说这个过程是透明的,因此可以认为它是一个黑盒子而不必关注。

本文引用地址:http://www.eepw.com.cn/article/166799.htm

1.4 IM软件的系统结构
  本系统主要由显示界面、登录模块、联系人管理和即时消息收发四个部分组成。
  (1)显示界面
  界面设计可以分为登录界面及主界面两个部分。登录界面提供用户账号和密码的输入。主界面由一个菜单栏和三个窗口构成。在用户状态菜单中,用户可以选择联机、离开、忙碌等六种状态;联系人菜单实现了对联系人的增加、删除、修改等工作。三个窗口分别为联系人列表窗口、消息发送窗口和会话窗口。联系人列表窗口列出所有联系人的昵称及其状态信息;消息发送窗口用于输入需要发送的内容;会话窗口中按顺序依次显示用户所发送的消息和对方的应答消息。
  (2)登录模块
  与NS服务器建立连接,传输加密的用户账号和密码信息,接收NS返回的应答信息,并从应答信息中抽取出SBS服务器的地址和用于登录到该服务器上的Cookie令牌。
  (3)联系人管理
  提供对联系人的增加、删除和修改等功能。在MSN中为了便于管理,联系人可以分成不同的队列,如好友、家庭成员和商务伙伴等。在新增加联系人时,应提示用户选择要加入的队列,而对于曾经添加过后又删除的联系人则直接将其恢复到原先所在的队列。联系人的删除又分为阻止联系人和彻底删除两种情况。阻止联系人就是将其放入阻止队列,使该联系人无法看到用户的状态并且不能给用户发送即时消息;而彻底删除联系人,则会删除与该联系人有关的所有信息。
  (4)即时消息的收发模块
负责发送和接收即时消息的工作。当用户想同一个联系人发起会话时,首先同SBS服务器创建连接,将Cookie令牌交给它进行验证。验证通过后就可以调用Socket接口向SBS服务器发送信息,而从服务器收到的消息则在会话窗口中显示。
2 IM软件的实现步骤及关键技术
2.1 开发平台的选择
  Linux操作系统因其开放源码、容易定制和扩展、多硬件平台支持和内置网络功能等优良特性,早已成为嵌入式应用开发的首选平台,因此本文使用定制的嵌入式Linux系统[1]。
  另外本文选择了Qt-Embeded开发工具,它是由著名的Qt库开发商Trolltech针对嵌入式Linux系统推出的构建GUI和应用的C++开发包。Qt-Embeded的移植性较好,支持ARM、PowerPC、MIPS和Dragonball等多种CPU体系结构。同时又有QMake、QVFB、Qt Designer等众多强大开发支撑工具的支持,大大提高了Qt-Embeded系统的开发效率。Qt设计器(Qt Designer)是用来设计和实现用户界面并能够在多平台下运行的一种开发支撑工具,用以简化用户界面的设计。QVFB即虚拟帧缓冲技术,是用于在PC机上运行和测试嵌入式应用程序的工具。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭