即时通讯系统的设计与实现
- 格式:doc
- 大小:80.50 KB
- 文档页数:10
哈尔滨师范大学
学年论文
题目即时通讯系统的设计与实现
学生崔振伟
指导教师张飚
年级2010级
专业电子信息科学与技术
系别光电工程系
学院物理与电子工程学院
哈尔滨师范大学
2013年5月
论文提要
目前信息的准确、快速、安全的传递在社会中越来越重要。无论是国与国之间,企业与企业之间还是企业内部这间的信息交流都要变得非常重要。规模较大的企业,都会建立一套软,硬件结合的通信系统,从而保证企业信息能够及时,准确、安全地传递到目的地。
本系统为企业内部即时通讯系统,是鉴与员工之间所处地点不同,员工之间交流的重要性的情况下,针对公司不适合让员工连接外网的实际情况下设计构思出来的,该系统设计完成后可用于企业员工之间的即时通讯工作,同时本系统具有很强的可扩展性,加以适当扩充,可以适用于各个不同的公司。
即时通讯系统的设计与实现
崔振伟
摘要:伴随着社会进入信息化时代,信息的准确、快速、安全的传递在社会中越来越重要。无论是国与国之间,企业与企业之间还是企业内部这间的信息交流都要变得非常重要。建立一套软,硬件结合的通信系统,从而保证企业信息能够及时,准确、安全地传递到目的地,能有效的解决员工之通讯交流障碍的问题,并防止员工跟外部联系。
因此为了适应企业的这一需求,特开发了适应企业局部通信的局域网即时通讯系统。论文介绍了在Microsoft可视化集成开发环境Visual studio 2008下开发一个基于对话框的局域网即时通讯系统的整个过程,系统采用基于对话框的MFC应用程序框架开发前台的操作界面,采用多线程和网络技术来实现成员这间的互联。实现了局域网内用户信息的采集与显示,最小化托盘,文字聊天,语音聊天,窗口抖动,字体设置,保存聊天记录的功能。在开发过程中,严格按照软件工程的整个流程进行。经过可行性分析,需求分析,概要设计,详细设计,编码,单元测试,集成测试等阶段,最终开发出了可以在单机上运行的试用版局域网即时通讯系统。本系统的界面友好,操作简单方便加以适当的扩充完善就可正式的投入使用。
关键词:软件工程网络通信线程
一、即时通讯的意义与背景
随着二十世纪八十年代到九十年代PC机的普及与深入,互联网的到来,解决PC机之间即时通讯的需求越来越强烈,一些通讯软件也应运而生,具有代表性的如下:QQ:由深圳市腾讯计算机系统有限公司1999年2月开发的一款基于Internet的即时通信(IM)软件。由1999年的2人到现在已经发展到上亿用户了,在线人数超过一亿。是目前使用最广泛的聊天软件之一。
MSN:由微软开发的1999年7月开发的即时通讯工具,4大顶级个人即时通讯工具之一。
Google Talk:是由Google 开发的的即时通讯方式,简称Gtalk。并宣称该软件“可以让你与朋友随时随地,在世界的任何一个角落自由的通话,发送即时讯息。并于2008年7月发布了iPhone版的Google Talk和2011年4月在Android版本的Google Talk上启动语音和视频聊天功能。
AIM:是美国在线推出的即时通讯软件类似于MSN,等,在泛北美地区拥有最广泛用户数量(2009.07数据),超过排名第二和第三的Yahoo Messenger和MSN。支持iPhone,Android,iPad,MAC,Windows等平台。
国内的还有新浪UC,YY,百度hi,Lava快信等,国际上的Yahoo!Messenger等。这些软件有一个集中的特点是基于互联网并且需要服务器的支持。其工作方式如下:登陆即时通讯服务器,获取一个自动建立的以前的即时通讯对象列表,获取自已的在线状态,当好友列表的某个用户在任何时候登录上线并且想跟你进行联系时,即时系统会发一个消息提示你,然后你就可以与目标对象建立一个聊天对话通道进行各种消息如文字、语音、窗口等来
进行交流。
二、论文的主要研究内容
本论文主要实现了基于MFC的局域网即时通讯系统。它可以为使用者提供丰富的功能,如行文字聊天、语音对话,查看联系人是否联机等功能,为使用者节省了大量的时间,提高了使用者工作的效率。我们在论文中按照软件工程的流程分配各个章节,系统在实现过程中,严格按照软件工程的流程进行,尽最大可能保证了整个系统的质量。软件工程在大型软件开发过程的应用,对于保证开发质量以及开发过程的顺利进行具有重要意义,高校计算机相关专业也都作为专业核心课教授。但是学生对软件工程的认识,往往只停在理论阶段,在实际开发中根本不去考虑如何利用软件工程知识去保证自已的开发质量,即使有运用的意识也不知道具体应如何操作。本论文提供了这样一个将软件工程知识运用到实际开发过程中的一个成功范例。
本论文清楚详细的描述了基于对话框的应用程序开发技术以及进行网络通讯所使用到的一些细节,提也了MFC中各个控件的使用技巧,和换肤的一些技术细节。同时本论文还深入探讨了WINDOWS平台下的线程机制,以及线程的使用方法和注意事项。
同时该论文还专门对系统中用到的关键算法作了相关探讨,主要算法涉及网络和线程的相关操作,各种数据结构之间的相互转换等等。可以作为网络通讯的参考。本章主要对本即时通讯系统系统开发过程中使用到的关键技术进行分析,包括开发本即时通讯系统所使用的MFC特点及优点、网络编程原理,线程技术和统一建模技术,作为本即时通讯系统开发所使用的主要技术。
三、关键技术分析
(一)开发本即时通讯系统所使用的MFC作为一个Windows编程类库,它包含了200多个类,封装了Windows的大部分编程对象以及与它们有关的操作编程时我们就可以利用类的可重用性和可扩充性,大大降低Windows应用程序设计的难度和工作量。
一个典型的MFC应用程序,一般需要:
(1)C,CPP源程序文件:源程序文件包含了应用程序的数据、类、功能逻辑模块的定义。
(2)H,HPP头文件:头文件包含了CPP,C源文件中定义的数据,类的声明。
(3)资源文件:包含了应用程序所使用的全部资源定义,通常以RC为后缀名,包括:string资源,快捷键列表、Dialog、menu、bitmap、mouse、toolbar、icon、版本信息和用户自的资源等。
这三者关系如图1-1所示。