欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    毕业论文--Linux下基于C++开发的即时通讯软件.docx

    • 资源ID:4366740       资源大小:608.10KB        全文页数:69页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业论文--Linux下基于C++开发的即时通讯软件.docx

    1、Linux下基于C+开发的即时通讯软件题目:班级0906学号院、(系)计算机科学与工程学位申请人:XX指导教师:XX学科专业: 探测制导与控制技术学位类别:工学学士2013 年 06 月 20密 级本科毕业设计(论文)题目:Linux下基于C+开发的即时通讯软件院 系:计算机科学与工程学科专业:学 生:XX学 号: 0指导教师:2013年6月西安工业大学毕业设计(论文)任务书计算机科学与工程院(系) 探测制导与控制技术专业 090610班姓名 XX学号 0906101151 .毕业设计(论文)题目:Linux下基于C+开发的即时通讯软件2 .题目背景和意义:21世纪以计算机为代表的信息产业,标

    2、志着人类社会进 入了信息时代,计算机网络的研究和发展。特别是Internet在全球的推广和应 用,对全世界科学、经济和社会产生了重大影响。而网络通讯的出现又把全世界 各个地方的人的距离拉得越来越近!随着互联网的普及,具有交互功能的应用软 件日益受到亲睐,尤其是即时通讯软件ICS大受欢迎。163和263网站使用ICS 的在线人数常达几万人,上百万人同时出现在腾讯QQ上。优秀的ICS确实为天 南地北的人们的信息勾通提供了便利,对提高网站知名度起到了至关重要的作 用,国外有的公司甚至把ICS作为支柱软件推出。即时通讯(Instant messaging, 简称 IM)是个终端服务, 允许两人或多 人

    3、使用网络即时地传递文字信息、文件、语音与视频交流。它是一种使人们能 在网上识别在线用户并与他们实时交换消息的技术。即时通讯被认为比电子邮 件更具有自发性,甚至能在进行实时文本对话的同时浏览网上信息。利用“即 时通讯”工具,用户间可以实现异地文字、语言、视频的实时互通;同时,借 助即时通讯工具,还可以帮助企业提高业务协同性及反馈的敏感度和快捷度。 作为使用频率最高的网络软件,即时通讯已被认为是现代交流方式的新象征。本毕业设计就是模拟QQ聊天软件,开发一个包括文字聊天、保存用户信息 等功能的即时通信软件。采用C/S架构,基于Linux平台开发,采用C+编程 语言。由服务器端和客户端程序组成。采用I

    4、CE中间件,解除服务器和客户端 的耦合。并使用QT进行图形界面的设计。主要实现的是聊天软件的部分功能, 即文字聊天、图片文件传送、保存用户消息等功能。使用Linux开发的原因是 Linux操作系统作为一个开源的操作系统被越来越多的人所应用,它的好处在 于操作系统源代码的公开化!只要是基于GNU公约的软件你都可以任意使用并 修改它的源代码。在Linux下编程的最佳语言应该是C语言,Linux上的很多 应用程序就是用C语言写的。因为QT是用C/C+语言编写的,所以在开发LINUX 下的GUI程序时使用C/C+语言是非常方便的。预期开发的软件非常实用,可 以在多平台运行,有很大的应用价值。3 .设计

    5、(论文)的主要内容(理工科含技术指标):要求在Linux操作系统环境 下使用Microsoft QT编程软件,利用ICE中间件及SQLite开发一款即时通讯 软件。该软件可以实现的功能:1、登录功能。2、申请新用户的功能。3、客户 可以通过服务器转发,实现一对一的聊天。4、显示在线好友。5、服务器显示 用户和状态。6、务器端可以保存用户的信息,同时将信息保存在文件和数据库 中。7、客户端程序可以显示好友列表。8、应该具有易用、稳定的图形界面。9、 系统实现保存聊天记录的功能。10、发送系统消息。11、服务器端保存错误日 志。12、从数据库中读取保存用户信息。13、发送文字消息、文件、图片。4

    6、.设计的基本要求及进度安排(含起始时间、设计地点):1、基本要求:熟悉 Linux系统环境,掌握C+、数据库、网络编程、ICE、QT相关知识,能够熟悉 掌握Linux下环境下的编程平台,了解UC的相关库函数。2.毕业设计时间共 18周,第1周:研究此项目所要解决的问题,确定软件功能需求。第2-3周: 进行整体方案的初步设计,整理初步设计方案。第4-8周:着手编辑本系统运 行所需要的各个模块,并测试。第9-13周:完成计划中系统的全部功能,做测 试和修整。第14-15周:完成系统的整体测试。第16-18周:完成论文的撰写, 为毕业答辩做准备。3.毕业设计地点:西安工业大学。5 .毕业设计(论文)

    7、的工作量要求 撰写15000字论文 实验(时数)或实习(天数):300机时图纸(幅面和张数):其他要求:论文有老师辅导完成,不得抄袭,按进度完成,论文在现有功能 可完善指导教师签名:年 月日学生签名:吕磊 2012年12月8日系(教研室)主任审批: 年 月日说明:1本表一式二份,一份由学生装订入附件册,一份教师自留。2带*项可根据学科特点选填。Linux下基于C+语言开发的即时通信软件摘要网络通讯是目前计算机用户进行交流最普遍的方式,各种各样的聊天软件也层出不 穷;服务提供商也提供了越来越丰富的通讯服务功能。当前中国的互联网技术已经进入 了一个飞速发展的时期,即时通讯工具作为当今网络应用的主流

    8、,越来越受到了人们的 青睐,使人们的网上生活更加丰富多彩。当今使用最为广泛的即时通信工具,微软公司 的MSN,腾讯公司的QQ聊天软件等为人们的工作和生活带来很大的便利。特别是对于 腾讯来说,其公司的收益很大部分是归功于QQ庞大的客户群,并在此基础上拓展其他 的业务。本毕业设计就是模拟QQ聊天软件,开发一个包括文字聊天、保存用户信息等功能 的即时通信软件。采用C/S架构,基于Linux平台开发,采用C+编程语言。由服务器端和客户 端程序组成。采用ICE中间件,解除服务器和客户端的耦合。并使用QT进行图形界面 的设计。主要实现的是聊天软件的部分功能,即文字聊天、保存用户消息等功能,主要 完成的任务

    9、包括服务器模块的设计、文字聊天,保存用户信息等功能。通过运行、测试 与分析,该多功能聊天软件运行稳定、可靠,具有一定的实用价值。关键词:聊天软件文字聊天Linux平台C/S架构Linux-based instant messaging softwareusingC+ language developmentAbstractNetwork communication is the computer users to communicate the most common way, all kinds of chat software also emerge in endlessly; Servi

    10、ce providers also provide more and more rich communication service functions. The current Chinas Internet technology has entered a rapid development period, instant communication tools as the network application of mainstream, more and more get the favour of people, make people online life more colo

    11、rful. The most widely used instant communication tools, Microsofts MSN and QQ chat software the tecent company for peoples work and life bring great convenience. Especially for tencent speaking, the companys earnings, a large part is attributed to QQ large clientele, and based on this, expand the ot

    12、her business.The graduation design is simulated QQ chat software, the development of a text chat, group chat function of instant communication software.Using C/S structure, based on Linux platform development, the C+ programming language. And use QT for the design of the graphical interface. The rea

    13、lization of the main chat software is part of the function, which text chat, the function such as news group, the main task of the module design, including the server text chat, mass news etc. Function. Through the operation, test and analysis, the multifunctional chat software operation is stable,

    14、reliable, and has a certain practical value.Keywords: chat software text chat Linux platform C/S目录摘要IAbstractII1前言11.1 课题研究背景和现状11. 1. 1研究背景12. 1.2研究现状和发展趋势11.2 本课题研究的目的和意义11.3 发工具及工具简介11. 3. ILinux 操作系统11. 3. 2 数据库 SQLite21. 3. 3 开发语言 C+语言21.3.4 Qt编程软件32即时通信软件系统总体设计12.1即使通信系统总体结构及总体需求12. 2总体性能需求分析2

    15、2. 2.1服务器端性能需求23. 2. 2客户端端性能需求22. 2. 3错误处理需求23程序设计方案13. 1方案比较13. 1. 1采用TCP方式连接13. 1.2采用UDP方式连接13. 2方案比较13. 3总体设计方案13. 3. 1服务器端功能模块划分1in3. 3. 2客户端端功能模块划分23. 3. 3UDP 协议33. 3. 4TCP 协议43. 3. 5消息标识定义54. 3. 6服务器接口函数64即时通讯系统软件详细设计14.1服务器端设计思想14. 2客户端设计思想24. 3服务器端详细设计54. 3.1服务器端主体54. 3. 2服务器端线程实现54. 3. 3服务器

    16、端函数实现64. 4客户端图形界面详细设计74. 4. 1连接窗体84. 4. 2登陆窗体114. 4. 3注册窗体134. 4. 4用户窗体154. 4. 5对话窗体195. 4. 6服务器的界面详细设计245结论25.1 教训及经验总结26. 2总结2参考文献1致谢1毕业设计(论文)知识产权声明1毕业设计(论文)独创性声明1外文原文1中文翻译11前言1.1 课题研究背景和现状1 .1.1研究背景21世纪以计算机为代表的信息产业,标志着人类社会进入了信息时代,计算机网 络的研究和发展。特别是Internet在全球的推广和应用,对全世界科学、经济和社会 产生了重大影响。而网络通讯的出现又把全世

    17、界各个地方的人的距离拉得越来越近! 随着互联网的普及,具有交互功能的应用软件日益受到亲睐,尤其是即时通讯软件ICS 大受欢迎。163和263网站使用ICS的在线人数常达几万人,上百万人同时出现在腾 讯的QQ上。优秀的ICS确 实为天南地北的人们的信息勾通提供了便利,对提高网站 知名度起到了至关重要的作用,国外有的公司甚至把ICS作为支柱软件推出。2 .L 2研究现状和发展趋势自1990s,四位以色列人推出的ICQ后,IM首次出现,凭借实时在线的交互特性 迅速风靡全球。如今,IM软件正逐渐成为一个集合了文字、视频、音频业务以及多种 增值业务的多媒体网络通信软件,凭借其所具有的廉价性和方便性,以及

    18、功能不断完善, IM已经和WWW、Email等一起成为网民们最喜爱的网络服务之一。尤其在国内,腾讯 QQ普及率远高于Email,在部分中国网民眼中上网基本等价于使用QQ等。2010年3 月5日19时52分58秒,腾讯QQ同时在线用户数突破了 1亿。截止到2009年3月18 日,QQ官方宣布注册账户数量超过8.919亿,活跃账户数量超过3.766亿。近年来公共互联网上的即时通讯发展迅猛,并向着未来通信和协作的主要模式演 化。这种演化主要表现为:从文本向话音、视频和多媒体演化;从固定网络向无线移动 演化;从个人通信向企业即时通信和协作演化;在体系结构方面,从集中服务器向对等 连接P2P演化;从专门

    19、系统向开放系统演化,推动实现不同系统的互通。总体看,是从 即时通讯向新一代统一消息演化。1.2 本课题研究的目的和意义即时通讯(Instant messaging,简称IM)是一个终端服务,允许两人或多人使用网络 即时地传递文字信息、文件、语音与视频交流。它是一种使人们能在网上识别在线用户 并与他们实时交换消息的技术。即时通讯被认为比电子邮件更具有自发性,甚至能在进 行实时文本对话的同时浏览网上信息。利用“即时通讯”工具,用户间可以实现异地文字、语言、视频的实时互通;同时, 借助即时通讯工具,还可以帮助企业提高业务协同性及反馈的敏感度和快捷度。作为使 用频率最高的网络软件,即时通讯已被认为是现

    20、代交流方式的新象征。1. 3开发工具及工具简介操作系统:Linux操作系统数据库:SQLite编程语言:C+语言开发工具:QT编程软件1. 3. ILinux操作系统最早的Fedora Linux社区的目标是Red Hat Linux制作并发布第三方的软件 包,然而当Red Hat Linux停止发行后,Fedora社区便集成到Red Hat赞助的 Fedora Project,目标是开发出由社区支持的操作系统Red Hat, Enterprise Linux 则取代Red Hat Linux成为官方支持的系统版本。Fedora Core是众多Linux发行套件之一。它是一套从Red Hat

    21、Linux发展 出来的免费Linux系统。现时Fedora最新的版本是Fedoral6, Fedora是Linux 发行版中更新最快的之一,通常每6个月发布一个正式的新版本。Fedora和Red Hat这两个Linux的发行版联系很密切。Red Hat自9. 0以后, 不再发布桌面版的,而是把这个项目与开源社区合作,于是就有了 Fedora这个 Linux发行版。Fedora可以说是Red hat桌面版本的延续,只不过是与开源社区 合作。1. 3. 2 数据库 SQLite数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种 数据集合具有如下特点:尽可能不重复,以最优方式为某个特

    22、定组织的多种应用 服务,其数据结构独立于使用它的应用程序,对数据的增、册h改和检索由统一 软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由 文件管理系统发展起来的。SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,可能只需要几百K的 内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结 合,比如Tel、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源 世界著名的数据库管

    23、理系统来讲,它的处理速度比他们都快。SQUte第一个Alpha版本诞生于 2000年5月。至今已经有12个年头,SQLite也迎来了一个版本SQLite 3已经发布。1. 3. 3开发语言C+语言C+程序设计语言是由来自 AT&T Bell Laboratories 的 Bjarne Stroustrup (即本 文作者)设计和实现的,它兼具Simula语言在组织与设计方面的特性以及适用于 系统程序设计的C语言设施。C+最初的版本被称作“带类的(C with classes) Stroustrup, 1980,在1980年被第一次投入使用;当时它只支持系统程 序设计(3)和数据抽象技术(4.1

    24、) o支持面向对象程序设计的语言设施在1983 年被加入C+;之后,面向对象设计方法和面向对象程序设计技术就逐渐进入了 C+领域。在 1985 年,C+第一次投入商业市场Stroustrup,1986Stroustrup,1986b。 在1987至1989年间,支持范型程序设计的语言设施也被加进了 C+Ellis, 1990 Stroustrup, 1991 o随着若干独立开发的C+实现产品的出现和广泛应用,正式的C+标准化工 作在 1990 年启动。标准化工作由 ANSI ( American National Standard Institute)以 及后来加入的 ISO (Interna

    25、tional Standards Organization)负责。1998 年正式发布 了 C+语言的国际标准C+,1998。在标准化工作进展期间,标准委员会充当了一 个重要的角色,其发布的C+标准之草案在正式标准发布之前,一直被作为过渡 标准而存在。1.3.4 Qt编程软件Qt是一个1991年由奇趣科技开发的跨平台C+图形用户界面应用程序开发框架。 它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器。Qt是面 向对象语言,易于扩展,并且允许组件编程。2008年,奇趣科技被诺基亚公司收购,QT 也因此成为诺基亚旗下的编程语言工具。在发布Qt 4.6的同时,作为Qt开发跨平

    26、台 IDE的Qt Creator也发布了更新版本。Qt Creator 1. 3和Qt 4. 6共同构成的Qt SDK, 包含了开发跨平台应用程序所需的全部功能。Qt Creator是一个用于Qt开发的轻量级 跨平台集成开发环境。Qt Creator可带来两大关键益处:提供首个专为支持跨平台开发 而设计的集成开发环境(IDE),并确保首次接触Qt框架的开发人员能迅速上手和操作。 Qt Creator包含了一套用于创建和测试基于Qt应用程序的高效工具,包括:一个高级 的C+代码编辑器上下文感知帮助系统可视化调试器源代码管理项目和构建管理工 具Qt Creator在LGPL2. 1版本授权下有效,

    27、并且接受代码贡献。2即时通信软件系统总体设计2.1即使通信系统总体结构及总体需求本系统是一个即时通讯程序,目前实现是在局域网下。本系统分为服务器和客户端 两个应用程序,服务器负责管理客户端,客户端之间自由通讯。服务器端和客户端之间 使用TCP协议进行通信。模块的工作方式如下:图2-1服务器和客户端工作方式简图为了开发出符合要求的网络聊天程序,首先必须知道使用者的需求。对需求的深入 理解是开发工作获得成功的前提条件,它对目标项目提出完整、准确、清晰、具体的要 求。软件的功能需求:1、登录功能。2、申请新用户的功能。3、客户可以通过服务器转发,实现一对一的聊天。4、显示在线好友。5、服务器显示所有

    28、用户及状态。6、服务器端可以保存用户的信息,同时将信息保存在文件和数据库中。7、客户端程序可以显示好友列表。8、应该具有易用、稳定的图形界面。9、系统实现保存聊天记录的功能。10、发送系统消息。11、服务器端保存错误日志。12、从数据库中读取保存用户信息。12. 2总体性能需求分析2. 2.1服务器端性能需求服务器需要同时连接很多个用户,并能提供给这些连接用户所需要的任务处理请 求,这就要求服务器能同时处理多个客户端连接。服务器模型一般分为循环服务器和并发服务器,循环服务器一次只能处理一个连 接,也就是说同一时间只能由一个用户连接到服务器进行消息处理,这种情况是不被允 许的。因此我们将采用多线

    29、程方式的并发服务器来设计服务器端,这样将能从很大程度上 提高服务器的运行效率。3. 2. 2客户端端性能需求客户端只需要连接到服务器便可以进行任务的处理工作,因此客户端的主要性能要 求为图形界面运行的稳定性和对出错信息的及时反映。当一个窗体出现问题时能够及时的处理,让主程序不受影响。4. 2. 3错误处理需求所有的应用程序在运行过程中都会出现出错的情况,这种错误可能来自于程序本身 的BUG也可能是用户操作的失误所造成的。当有错误发生时,我们应该有一个很好的 机制来保障错误能够及时地被排除。因此,当应用程序出现了错误的时候我们就需要程序能提供给我们出错的信息,这 样用户就能够很快的找出具体的出错

    30、原因,以便寻找合理的途径去解决它。程序设计方案3程序设计方案4.1 方案比较5. 1. 1采用TCP方式连接TCP方式连接的一个显著特点就是需要有服务器,这种类型的程序通常被称为客户 机/服务器模式。客户机/服务器模型也是一种网络模型,它并不是定义了网络的层次结构,而是描述 了一种网络程序运行的方式。客户及/服务器模型将网络应用程序分为客户和服务器两部分。客户方对服务器方发 送信息请求,服务器方对其做出相应回答,提供服务。在TCP/IP网络应用中,多数网 络应用程序是使用客户/服务器模型设计的。服务程序通常在一个众所周知的地址监听对 服务的请求,也就是说,服务进程一直处于休眠状态,直到一个客户

    31、程序提出了请求信 息。此时,服务程序被“惊醒”并且为客户提供服务,对客户的请求做出适当的反应。虽 然基于连接的服务是设计客户/服务器应用程序的标准,但是通过运用中间件的原理,可 以将客户端和服务端进行解耦合,使二者成为独立的一部分,服务器只需提供一个 servant,而客户端只需获取servant的代理,二者就可以进行通信,甚至服务器端和客户 端可以使用不同的语言来编写。当建立服务器程序时,应该将服务器程序设计成等候客户的请求。TCP传输层通过 协议端口和应用程序通信,也就是说,为了接收客户请求,服务器程序必须对传输层的 一个特定协议端口进行侦听。同时,客户与服务器这两个术语不是对应用的特定组成部分的严格指称,而是表示 在某个请求从发生到结束期间,应用的某些部分所承担的角色:客户是主动的实体。它们向服务器发出服务请求。服务器是被动的实体。它们提供服务,响应客户请求。在从不发出请求、而只是响应请求的意义上,许多服务器常常不是“纯粹的”服务 器:它们常常充当某些客户的服务器,但为了完成它们的客户的请求,它们又会充当另 外的服务器的客户。与此类似,在只从某个对象那里请求服务的意义上,客户常常也不 是,纯粹的,客户:它们常


    注意事项

    本文(毕业论文--Linux下基于C++开发的即时通讯软件.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开