本科毕业论文 - 即时通信系统的开发与设计论文(论文)(2)

2019-05-24 10:29

攀枝花学院本科毕业设计(论文) 前言

1 前 言

1.1课题背景及意义

即时通信(instant messaging)是指网络上用来进行实时通讯的系统服务,人们可以使用即时通信软件以文字、图片、文档、语音、视频的形式通过网络进行异地实时信息交流。随着互联网的不断普及,使用通信软件交流成为了人们生活中必不可少的一部分,而且人们对通信软件的功能需求的不断增大,即时通信软件的功能也日趋完善,除了最基本的通讯功能外,逐渐集成了电子邮件、博客、微博、音乐、电视、游戏、电子支付和搜索等多种功能,而这些功能的集成也使得即时通信软件已经不再是一个单纯的通信工具,它已经成为了集信息交流、娱乐、电子商务、商务办公、客户服务于一身的综合化信息平台。

即时通信将世界构建成了一个整体,实现了信息交流的无国界;无论你身在美国、还是遥远的非洲、亦或是我们身处的中国,通过MSN或qq聊天就可以知道你现在正在干什么,将要干什么;即时通信应用在企业办公上,企业工作效率得到了很大的提升,群组聊天让员工之间的技术探讨畅通无阻;视频会议技术让你不再为繁琐的会议东奔西走;这极大方便了我们的生活,提高了我们的生活品质。因此,即时通信软件的设计与开发具有重要意义。

1.2国内现状及发展趋势

国内外即时通信系统发展迅速,特别是近年来即时通信软件层出不穷,目前人们熟知的有腾讯QQ、 MSN、UC、skype等即时通信软件;还有最近几年新起的微信、易信、米聊等移动端即时通信软件。据一项数据调查显示:2014年二季度末,QQ月活跃账户数达到8.29亿,微信和WeChat(微信海外版)合并月活跃账户数达4.38亿。在微信月活账户持续增长的同时,QQ智能终端月活跃账户突破了5.21亿,同比增长45%,相比上季度也有6%的增幅。据相关统计,目前中国智能手机用户在5亿左右,这意味着,智能手机用户几乎都活跃在手机QQ上。这些数据表明移动端的即时通信软件现今有很大的市场,逐渐的由互联网络跨入移动互联网,发展潜力十分巨大。

而今,随着人们对生活娱乐的需求不断增加,即时通信软件不单单只有信息交流这一简单的功能,它还集成了与人生活紧密相关的一些功能;比如:腾讯手机qq上的滴滴打车、qq电影票、腾讯新闻、qq钱包等。这些功能让你体会到生活的便捷与快乐;让你足不出户就可以实现电影票的购买,而且还能帮你理财。

即时通讯工具作为未来跨越互联网与移动互联网的业务,其发展的潜力是十分巨大的,同时,其商业模式的发展将是未来要关注的焦点。免费与收费相结合的发展策

1

攀枝花学院本科毕业设计(论文) 前言

略将是IM的主要发展模式。集成多种与人们生活息息相关的服务功能是IM的主要发展趋势

1.3现行系统的不足

随着电子商务的发展,支付工具遍地开花,即时通讯的经济价值将进一步增强,也不可避免地遭遇更大的安全性问题。用户信息泄露,盗号木马、网络诈骗钓鱼等安全性问题屡见不鲜。

只要连接到Internet互联网,用户账号和密码被盗对黑客来说是件很容易的事。即时通信软件一般要输入个人账号和密码,验证成功后方可为其提供服务。而目前的即时通信厂商很少考虑它的认证机制。这给黑客可乘之机,攻击者通过暴力破解、木马欺骗等破解方法窃取密码后冒充该用户来查看聊天记录并与其他用户进行通信,以此来窃取重要的信息。

目前,大多数即时通信软件在通讯时传递的信息或文件仅仅采用了弱加密甚至不 加密的方式,黑客能很容易的利用此缺陷来监听、篡改、窃取用户的重要数据,这种泄密可能给用户造成不可估量的损失;尤其是对一些商业机构和金融机构,一旦泄密,将会构成巨大的商业安全威胁。

1.4 解决方案

为了解决以上所提到的问题,本软件使用基于C/S模式的架构模型,采用基于Socket的局域网通信工具的设计与实现方法。并且还采用tcp与udp通信协议来实现通信;基于Socket的局域网通信软件可以为企业原有的局域网提供一种良好,安全,快速的通信机制它的实现无需对企业原有的局域网硬件进行任何改动,具有实现成本低廉的优点。而tcp协议是一种可靠的面向连接的传输协议,通过序列确认和包重复机制提供可靠的数据流发送和应用程序的虚拟连接服务。经过3次握手建立连接发送数据。但tcp不是及时的传输协议。而udp协议的传输效率高,在企业局域网稳定安全的环境下实现用户聊天时用udp协议就可以很好的弥补tcp协议的不足。

而在数据方面,服务器将用户个人信息、用户好友列表信息、客户端连接信息存放于数据库中。

整个软件有客户端和服务器端组成,将所有功能封装于各式类文件中,后期维护简单。

2

攀枝花学院本科毕业设计(论文) 系统开发关键技术及开发环境

2 系统开发关键技术及开发环境

2.1qt及qtcreator开发环境

2.1.1qt简介

Qt是一个跨平台应用程序和UI开发框架。使用qt只需一次性开发应用程序,无需重新编写源代码,便可跨不同的桌面和嵌入式操作系统部署这些应用程序。 Qt Software的前生为创始于1994年的Trolltech(奇趣科技),Trolltech于2008年6月 被Nokia收购,加速了其跨平台的开发战略。

总的来说,相对于老旧的MFC和目前编程行业通行的VC++工具,Qt以其入门简单,跨平台以及嵌入式等方面有着无可代替的优越性,当然MFC的完整性以及内容的丰富性是Qt不及的。但是由于Qt为开源框架,得到了众多开发者的支持,因此qt的普及也在近千万开发人员的基础上,再次的得到发展。自从诺基亚宣布停止开发其和英特尔公司共同推出的Meego系统并大幅度裁员以来,Qt用以移动开发人员集聚减少,从而使得曾经火热的Qt减缓了在移动设备上的发展的步伐,但是正因为如此,Qt就更加专注于跨平台。

信号和槽是一种高级接口,应用于对象之间的通信,它是QT的核心特性,也是QT区别于其它工具包的重要地方。信号和槽是QT自行定义的一种通信机制,它独立于标准的C/C++语言。当 一个特定事件发生的时候,一个信号被发射。Qt的窗口部件有很多预定义的信号, 但是我们总是可以通过继承来加入我们自己的信号。槽就是一个可以被调用处理特定信号的函数。Qt的窗口部件又很多预定义的槽,但是通常的习惯是你可以加入自己的槽,这样你就可以处理你所感兴趣的信号。

信号和槽的机制是类型安全的:一个信号的签名必须与它的接收槽的签名相匹 配。(实际上一个槽的签名可以比它接收的信号的签名少,因为它可以忽略额外的 签名。)因为签名是一致的,编译器就可以帮助我们检测类型不匹配。信号和槽是 宽松地联系在一起的:一个发射信号的类不用知道也不用注意哪个槽要接收这个信号。Qt的信号和槽的机制可以保证如果你把一个信号和一个槽连接起来,槽会在正确的时间使用信号的参数而被调用。信号和槽可以使用任何数量、任何类型的参数。它们是完全类型安全的,不会再有回调核心转储(core dump)。

2.1.2 Qt Creator简介

Qt Creator 是Qt被Nokia收购后推出的一款新的轻量级集成开发环境(IDE),

能够跨平台运行,支持的系统包括Linux,Mac OS X 以及Windows.

允许开发者为多桌面环境及移动设备平台创建应用程序。它包括一个可视化调试工具和集成的 GUI 版面和外形设计师。根据官方描述,Qt Creator的设计目标是使

3

攀枝花学院本科毕业设计(论文) 系统开发关键技术及开发环境

开发人员能够利用qt这个应用程序框架更加快速及轻易的完成开发任务。

在功能方面,Qt Creator包括项目生成向导、高级的C++代码编辑器、浏览文件及类的工具、集成了Qt Designer 、Qt Assitant、Qt Linguist、图形化的GDB调试前端,集成qmake构建工具等。

2.2 mysql数据库介绍

MySQL的概述

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成 本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

MySQL是使用使用C和C++编写,并使用了多种编译器进行测试,保证源代 码的可移植性特点;它还支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统 ;它为多种编程语言提供了API。这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等;MySQL还支持多线程,充分利用CPU资源

并且优化了SQL查询算法,有效地提高查询速度 。它既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名 提供TCP/IP、ODBC和JDBC等多种数据库连接途径 ,提供用于管理、检查、优化数据库操作的管理工具 ,可以处理拥有上千万条记录的大型数据库。

与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰 绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。 目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系 统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是遵循GPL的开放源码软件,因此使用这种方 式不用花一分钱就可以建立起一个稳定、免费的网站系统。

4

攀枝花学院本科毕业设计(论文) 系统开发关键技术及开发环境

2.3 socket套接字介绍

socket套接字,是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的两方的一种约定,用套接字中的相关函数来完成通信过程。 Socket套接字包括: 流套接字(SOCK_STREAM):

流套接字用于提供面向连接、可靠的数据传输服务。该服务将保证数据能够实现无差错、无重复发送,并按顺序接收。流套接字之所以能够实现可靠的数据服务,原因在于其使用了传输控制协议,即TCP(The Transmission Control Protocol)协议。 数据报套接字(SOCK_DGRAM):

数据报套接字提供了一种无连接的服务。该服务并不能保证数据传输的可靠性,数据有可能在传输过程中丢失或出现数据重复,且无法保证顺序地接收到数据。数据报套接字使用UDP(User Datagram Protocol)协议进行数据的传输。由于数据报套接字不能保证数据传输的可靠性,对于有可能出现的数据丢失情况,需要在程序中做相应的处理。

原始套接字(SOCK_RAW):

原始套接字与标准套接字(标准套接字指的是前面介绍的流套接字和数据报套接字)的区别在于:原始套接字可以读写内核没有处理的IP数据包,而流套接字只能读取TCP协议的数据,数据报套接字只能读取UDP协议的数据。因此,如果要访问其他协议发送数据必须使用原始套接字。

2.4 IP

网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。

IP层接收由更低层(网络接口层例如以太 网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP 数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的 地址(目的地址)。

高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,IP地址形成了许多服务的 认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP确认包含一个选项,叫作IP source routing,可以用来指定一条源地址和目的地址之间的直接路径。对于一些TCP和UDP的服务来说,使用了该选

5


本科毕业论文 - 即时通信系统的开发与设计论文(论文)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:重点关系数据库练习卷09 SQL 题目及答案单项选择题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: