目 录
第1章 绪 论 .......................................................................................................... 3 1.1 导论 .................................................................................................................... 3 1.2 研究现状 ............................................................................................................ 4 1.3 研究目的及意义 ................................................................................................ 4 1.4 论文组织结构 .................................................................................................... 4 1.5 本章小结 ............................................................................................................ 4 第2章 系统设计和相关技术 ...................................................................................... 5 2.1 应解决的问题 .................................................................................................... 5 2.2 需要实现的功能 ................................................................................................ 5 2.3关键技术-AJAX简介 ........................................................................................ 5 2.4 “即时”技术的选择 ........................................................................................ 6 2.5 本章小结 ............................................................................................................ 7 第3章 软件系统的实现 ............................................................................................ 8 3.1开发环境介绍 ..................................................................................................... 8 3.2需求分析 ............................................................................................................. 9 3.3 即时通信系统需求 .......................................................................................... 10 3.4 WEB-TALK的模型选择 ................................................................................. 11 第四章 数据库和功能模块设计 ................................................................................ 13 4.1数据表设计 ....................................................................................................... 13 4.2存储过程设计 ................................................................................................... 14 4.3系统功能分析与设计 ....................................................................................... 15 4.4系统模块设计 ................................................................................................... 17 4.4.1注册模块 .................................................................................................... 17 4.4.2登录模块 .................................................................................................... 17 4.4.3传输信息模块 ............................................................................................ 18
4.4.4退出系统模块 ............................................................................................ 19 4.5 本章小结 .......................................................................................................... 23 第5章 系统测试 ........................................................................................................ 24 5.1测试介绍及测试内容 ....................................................................................... 24 5.2 测试遇到的问题 .............................................................................................. 24 5.3 测试截图 .......................................................................................................... 25 第6章 总结和展望 .................................................................................................. 26 参考文献 ...................................................................................................................... 27 致 谢 ........................................................................................................................ 28
第1章 绪 论
1.1 导论
随着Internet的普及和宽带技术的成熟,即时通讯软件几乎是每一个上网
用户都必备的联络工具,时下当你打开电脑上网的第一件事情就是登陆你的即时通讯软件。
即时通讯软件除了能够让您迅速地在网上找到自己的朋友和工作伙伴,还可以实时交谈和传递信息,而且,运营商通过不同的更新加强功能使得即时通讯软件拥有了更多实用的功能。例如文件共享、语音聊天、网络会议等功能。,在中国,腾讯QQ使用是最为普遍的,用户群涵盖面很广,几乎成为我们生活中的一部分。当然除了腾讯QQ国内还有很多其他的即时通讯软件,拥有各自的用户群体。例如新浪UC、多玩YY等。
即时通讯软件最早发布于1996年11月15日,以色列特拉维文的Mirabilis Ltd.发表了一个题为《E.T SURF HOME:MIRABILIS LTD. PROVIDES NEW SOLUTIONS FOR PEER-TO-PEER INTERNET COMMUNICATIONS》的新闻稿,同时发布了他们新产品ICQ(I Seek You)的Beta测试版。这天标志着Internet上的第一个成热的即时通讯系统(Instant Message System)的诞生。即时通讯服务在诞生之后的几年时间得到了迅猛发展,成为新增Internet用户的3个主要应用之一(WEB,电子邮件和即时通讯)。
1999年2月,深圳腾讯公司正式发布OICQ99 beta build 0210,开通腾讯即时通讯服务。2000年5月,腾讯QQ同时在线用户突破10万;2001年2月l0日,腾讯QQ同时在线用户突破100万。2004年4月份腾讯QQ同时在线人数最高记录已经突破了600万大关,如今不同年龄层的用户都有使用QQ的。腾讯的即时通讯系统也开始往多平台通讯发展,如今已经成功将即时通讯与手机短信息(SMS)成功结合起来,当下利用新兴3G等无线网络和多平台操作系统的应用手机移动QQ已经逐渐步入成熟期,在移动平台上的各种功能十分强大,而且用户群数量更是显著增加,大有赶超传统的C/S电脑模式。信息时代的快速发展,造就了即时通讯软件涉及和影响的越来越高反的领域,其市场竞争也越来越激烈。腾讯QQ因用户群体庞大,当之无愧的牢牢控制着国内这个大市场,其他即时通讯公司纷纷转换发展策略开发不同领域的即时通讯软件,例如新浪UC就是专注于游戏用户群的一款游戏语音即时通讯软件。
1.2 研究现状
纵观目前我们使用的即时通讯软件,都是基于C/S模式的,需要在网站下载客户端进行安装,使用过后用户名、密码、聊天记录等也是存放在本地机器上,在安全性和方便性上都有所欠缺。目前各大即时通讯公司也开始着手向WEB平台这一领域发展,已达到更安全更方便用户的需求,基于WEB的即时通讯平台,在一定程度上能够避免这些问题,并且软件小巧使用方便无需安装,设计一款基于WEB的即时通讯软件对于现阶段的学习和研究,都是极为有意义的,设计一个基于B/S模式的IM软件,可以通过IE等浏览器直接完成客户端的登录、数据传输、好友信息分组管理、状态更新、两人以及多人的文字聊天等功能。
1.3 研究目的及意义
作为计算机专业的学生,即时了解和掌握流行的即时通讯机制并且应用到实践过程中,将极大的提高自己的设计和开发软件的积极性;提升自己的理论和技术水平,本毕业设计的目的主要是为了综合运用以前所学知识(包括以前所学的一些关于网络技术、网络协议、数据库、编程技术等相关知识)的能力并了解和学习当下流行的开发模式,为以后类似的开发积累经验;同时,开发出来的作品也可以真正运用到我们日常生活当中,方便局域网内大家的沟通和交流。
1.4 论文组织结构
本论文分为五个部分,首先对本课题的研究内容的现状、发展趋势和研究意义做了大概的介绍;其次,对本系统应具备的功能和研究技术进行介绍;再次,对各功能的具体实现进行详细设计;之后,对各个功能进行测试,实现整个系统;最后,讨论系统的不足和展望,为进一步开发做准备。
1.5 本章小结
本章主要是对所研究的内容做一个大致的介绍,涉及到研究内容的发展现状,研究目的及意义,是对论文的一个整体把握。
第2章 系统设计和相关技术
2.1 应解决的问题
1) 服务系统模型的选择; 2) 实时查看在线好友列表; 3) 向在线好友发送即时消息; 4) 实时接收在线消息并且弹出提示; 5) 状态的即使切换(在线,隐身等)。
2.2 需要实现的功能
1) 实现用户注册、登录、退出、更改状态等功能; 2) 实现文本信息发送;
3) 实现搜索好友,添加好友,删除好友技术; 4) 实现消息的提示功能; 5)实现设置好友权限功能。
2.3关键技术-Ajax简介
Ajax 是异步JavaScript和XML(Asynchronous JavaScript and XML)的英文缩写。“Ajax”这个名词的发明人是Jesse James Garrett,而大力推广并且使Ajax技术炙手可热的是Google。Google发布的Gmail,Google Suggest等应用最终让人们了解了什么是Ajax。
Ajax的核心理念在于使用XMLHttpRequest对象发送异步请求,最初为XMLHttpRequest对象提供浏览器支持的微软公司。早在1998年,微软公司开发Web版Outlook时,就已经以ActiveX控件的方式为XMLHttpRequest提供了支持。Ajax是使用客户端脚本与Web服务器交换数据的Web应用开发方法。这样,Web页面不用打断交互流程进行重新加裁,就可以动态地更新。使用Ajax,用户可以创建接近本地桌面应用的直接、高可用、更丰富、更动态的Web用户界面。
实际上,Ajax不是一种技术,而是几种技术。每种技术都具有独特之处,