太 原 理 工 大 学
毕业设计论文任务书
基于QT4的视频聊天工具的设计与实现
摘要
本文主要介绍了如何用QT技术来实现一个局域网的聊天软件。论文阐述了QT的概念发展历史功能及其应用平台以及QT的发展前景讲述了socket通信的工作原理及其应用方面分别叙述了TCP/IP通信和UDP通信的工作流程和应用方面 以及他们之间的区别。本文还介绍了软件的需求分析界面设计及其测试用例并且比较详细的描述了整个软件的实现过程。
本软件主要是应用于局域网的聊天及文件传输采用最基础的C++语言用QT界面开发工具来开发使用了TCP/IP和UDP通信协议进行通信。该软件应用QT进行界面开发能够开发出优美的界面TCP/IP通信实现文件的传送用UDP通信实现聊天信息之间的传输。
关键词 QT TCP/IP通信 UDP通信
The design and implementation of video chat tool based on QT4
AB S TRAC T
This paper describes how to use QT technology to achieve a software ofchat base onLAN.This paper describes the conception of QT,and the history ofQT,and the function ofQT,and the Application Platform ofQT,and the development prospects ofQT.This paper alsodescribes how to work of socket communication and the ways about it be used.It introducethe workflow and the ways about it be used that about TCP/IP communication and UDPcommunication,and the different between them.This paper also introduce the demandanalysis,the design of interface,and the test case about the software.It also describes therealization proces s about so ftware in detail.
This software is used to chat on LAN and send files.It use C++language and QTdevelop so ftware to develop this so ftware.The so ftware use TCP/IP communication and UDPcommunication to communicate.The interface of the software is developed by use QTdevelop so ftware.The QT develop so ftware can create beautiful interface.The so ftware useTCP/IP deal to send files,and use UDP deal to chat with others.
Key words: QT;TCP/IP communication;UDP communication;
目 录
摘要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .i
ABSTRACT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .i i
1 绪论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
1. 1 软件开发的背景和目的. . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
1.2 聊天软件在当今的形式. . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
1.3 软件设计和研究的方法. . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
1.4 设计过程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
1.5 研究内容. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
2 系统开发技术及开发工具. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
2. 1 QT的概念. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
2.2 QT的发展. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
2.2. 1 发展历史. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
2.2.2 发展前景. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
2.3 QT的主要功能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
2.4 QT的应用平台. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
2.5 OpenCV介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
3 需求分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
3. 1 引言. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
3. 1. 1 编写目的. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
3.2 任务概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
3.2. 1 任务目标. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
3.2.2 运行环境. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
3.3 协议需求分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
3.3. 1 协议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
3.3.2 UDP协议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
3.3.3 协议的区别. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
3.3.4 功能需求分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4 概要设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4. 1 设计目的. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
4.2 系统功能配置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
4.2. 1 硬件环境. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
4.2.2 软件环境. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
4.3 系统功能模块说明. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
4.4 系统功能模块图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
5 详细设计及实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5. 1 聊天界面的设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5. 1. 1 获取端口信息. . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5. 1.2 发送信息界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5. 1.3 接收信息界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5. 1.4 改变编辑字体界面. . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5.2 文件传送界面的设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5.3 视频界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
6 软件测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
6. 1 测试项目. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
6.2 测试方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
6.3 聊天测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
6.4 视频聊天测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
6.5 字体改变测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
6.6 文件传送测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
6.7 多平台聊天测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
7 总结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
致谢. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
附录一英文原文. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
附录二 中文译文. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
1 绪论
1 . 1 软件开发的背景和目的
近些年,人们的生活节奏越来越快。人们的生活压力越来越大精神也越来越紧张人们经常会出现不同的问题。在这时人们往往会想到与人交流来缓解自己的压力来发泄心中的不快。因此聊天时一种和好的方式来使自己在忙碌之中得到放松。
网络聊天可以提升打字速度还能转移注意力使自己的精神得到放松。聊天还能医治抑郁提升自己的语言表达。在聊天中同学善意的批评老师精心的指点或者得到一些热心人士的解答都能使我们在聊天中得到放松得到解决问题的办法。聊天对人是有许多益处但是很多人却会因为网络出现问题了导致我们不能聊天。就像我们学校晚上经常断网这样同学之间视频聊天或者传递资料将很不方便。同学们急切需要一种聊天软件可以使同学们打发空闲的时间交流感情共享资源。因此我设计了一款局域网视频聊天软件。
1 .2 聊天软件在当今的形式
如今各种各样的网络聊天工具到处存在但是大部分软件都是只能在Windows平台上或者单一的平台上运行这具有很大的局限性因此我局域QT这个跨平台开发工具开发了一个聊天软件。这个聊天软件能够实现局域网内的通信和文件传输这十分方便同学们的需求。
1 .3 软件设计和研究的方法
由于TCP/IP通信和UDP通信用不同的软件实现的原理都类似 因此通信方面可以参考的内容十分丰富。聊天界面的设计主要参考QQ聊天软件的界面设计。
1 .4 设计过程
1.对聊天软件界面应该十分熟悉并且设计出一款和谐美观的聊天界面
2.创建登陆设定针对不同的人建立相应的登陆方式
3.建立UDP通信连接使软件能够实现聊天通信
4.建立TCP/IP通信连接使软件能够实现文件传输
5.优化界面添加聊天的其他设置
1 .5 研究内容
该软件的研究内容主要在两方面
1.QT开发在界面设计方面是否能够设计出优美的界面比其他开发软件是否更具优势 以及通信方面是否可行。
2.QT开发的软件是否具有可移植性跨平台性是否十分优越于其他开发软件。
2 系统开发技术及开发工具
2. 1 QT的概念
QT在网上有多种解释如Quantity、 Quart、 Quarter等/Qt是诺基亚开发的一个跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。
2.2 QT的发展
Qt是一个跨平台的C++图形用户界面库由挪威TrollTech公司于1995年底出品。 Trolltech公司在1994年成立但是在1992年成立Trolltech公司的那批程序员就已经开始设计Qt了 Qt的第一个商业版本于1995年推出。
2.2. 1 发展历史
Qt经历了漫长的发展
1996 Oct KDE组织成立。
1998 Apr 05 Trolltech的程序员在5天之内将Netscape5.0从Motif移植到Qt上。
1998 Apr 08 KDE Free Qt基金会成立。
1998 Jul 09 Qt 1.40发布。
1998 Jul 12 KDE 1.0发布。
1999 Mar 04 QPL 1.0发布。
1999 Mar 12 Qt 1.44发布。
1999 Jun 25 Qt 2.0发布。
1999 Sep 13 KDE 1. 1.2发布。
2000 Mar 20嵌入式Qt发布。
2000 Sep 06 Qt 2.2发布。
2000 Oct 05 Qt 2.2. 1发布。
2000 Oct 30 Qt/Embedded开始使用GPL宣言。
2000 Sep 04 Qt free edition开始使用GPL。
自从1996年早些时候 Qt进入商业领域它已经成为全世界范围内数千种成功的应用程序的基础。Qt也是流行的Linux桌面环境KDE的基础 KDE是所有主要的Linux发行版的一个标准组件。
2.2.2 发展前景
QT是一个跨平台的界面开发软件 因此Qt同X Window上的Motif OpenwinGTK等图形界面库和Windows平台上的MFC OWL VCL ATL是同类型的东西但是Qt具有下列优点
优良的跨平台特性
bgpto怎么样?bgp.to日本机房、新加坡机房的独立服务器在搞特价促销,日本独立服务器低至6.5折优惠,新加坡独立服务器低至7.5折优惠,所有优惠都是循环的,终身不涨价。服务器不限制流量,支持升级带宽,免费支持Linux和Windows server中文版(还包括Windows 10). 特色:自动部署,无需人工干预,用户可以在后台自己重装系统、重启、关机等操作!bgpto主打日本(东京、大阪...
搬瓦工最近上线了一个新的荷兰机房,荷兰 EUNL_9 机房,这个 9 的编号感觉也挺随性的,之前的荷兰机房编号是 EUNL_3。这次荷兰新机房 EUNL_9 采用联通 AS9929 高端路线,三网都接入了 AS9929,对于联通用户来说是个好消息,又多了一个选择。对于其他用户可能还是 CN2 GIA 机房更合适一些。其实对于联通用户,这个荷兰机房也是比较远的,相比之下日本软银 JPOS_1 机房可...
美国高防服务器提速啦专业提供美国高防服务器,美国高防服务器租用,美国抗攻击服务器,高防御美国服务器租用等。我们的海外高防服务器带给您坚不可摧的DDoS防护,保障您的业务不受攻击影响。HostEase美国高防服务器位于加州和洛杉矶数据中心,均为国内访问速度最快最稳定的美国抗攻击机房,带给您快速的访问体验。我们的高防服务器配有最高层级的DDoS防护系统,每款抗攻击服务器均拥有免费DDoS防护额度,让您...