论文部分内容阅读
即时通信(Instant Messaging, IM)系统是随着Internet发展起来的一种网络应用系统,人们通过它可以方便快捷的进行实时交流,如在线交谈、传递文件、及视频会议等。随着移动互联网的发展,通过便携的、无线的设备访问Internet已经成为人们需求的方向,同时互联网即时通信也在向移动化扩张。但目前常用的大多数移动即时通信平台都是封闭性的,这样就严重阻碍了IM平台间的互联互通,不同的IM软件用户均处在不同的信息孤岛上。XMPP协议的出现彻底解决了这一问题,它是一个开放的、基于XML的、标准统一的即时通信协议。另外,由于即时通信系统在商务通信方面也显示出了卓越的功能,如方便查看员工是否在线、实时交谈、获取商机等,基于以上因素考虑,本文借助XMPP协议在Java ME/Android手机平台上设计并实现了一个可跨平台的企业移动即时通信系统。文中首先描述了系统研究的背景、意义及发展现状,其次介绍了XMPP协议、Java ME和Android移动平台以及安全性基础知识等相关技术,在此基础上利用XMPP客户端类库Smack,完成了基于Java SE的C/S构架的桌面即时通信系统的搭建、设计与实现。随后研究了基于Java ME和Android的移动即时通信系统,服务器采用基于XMPP协议的实时协作服务器Openfire,移动客户端基于Java ME/Android实现,主要划分了四个模块:界面设计、XML解析、XML封装和事件响应模块。由于在商务应用中,系统的安全性尤为重要,所以文中重点分析了IM系统中可能存在的安全隐患,并且基于时效性的考虑综合使用了AES对称加密算法、SHA-1摘要算法、RSA非对称加密算法、RSA数字签名算法制定出一个混合加密策略,采用Bouncy Castle加密包予以实现。设计中,考虑到了目前即时通信系统中存在的两个主要问题:连通性和安全性,并予以分析和解决。文中实现了一个可供企业使用的安全的跨平台的移动即时通信系统,该IM系统的主要功能包括:用户登录、显示好友列表、收发即时消息和机密消息、用户在线状态管理、好友管理、聊天记录管理等。