书签基于qt4的视频聊天工具的设计与实现论文设计

popo聊天  时间:2021-01-30  阅读:()

太 原 理 工 大 学

毕业设计论文任务书

基于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 OpenwinGTK等图形界面库和Windows平台上的MFC OWL VCL ATL是同类型的东西但是Qt具有下列优点

优良的跨平台特性

RAKsmartCloud服务器,可自定义配置月$7.59

RAKsmart商家一直以来在独立服务器、站群服务器和G口和10G口大端口流量服务器上下功夫比较大,但是在VPS主机业务上仅仅是顺带,尤其是我们看到大部分主流商家都做云服务器,而RAKsmart商家终于开始做云服务器,这次试探性的新增美国硅谷机房一个方案。月付7.59美元起,支持自定义配置,KVM虚拟化,美国硅谷机房,VPC网络/经典网络,大陆优化/精品网线路,支持Linux或者Windows操作...

digital-vm$80/月,最高10GDigital-VM1Gbps带宽带宽

digital-vm在日本东京机房当前提供1Gbps带宽、2Gbps带宽、10Gbps带宽接入的独立服务器,每个月自带10T免费流量,一个独立IPv4。支持额外购买流量:20T-$30/月、50T-$150/月、100T-$270美元/月;也支持额外购买IPv4,/29-$5/月、/28-$13/月。独立从下单开始一般24小时内可以上架。官方网站:https://digital-vm.com/de...

Linode 18周年庆典活动 不断改进产品结构和体验

今天早上相比很多网友和一样收到来自Linode的庆祝18周年的邮件信息。和往年一样,他们会回顾在过去一年中的成绩,以及在未来准备改进的地方。虽然目前Linode商家没有提供以前JP1优化线路的机房,但是人家一直跟随自己的脚步在走,确实在云服务器市场上有自己的立足之地。我们看看过去一年中Linode的成就:第一、承诺投入 100,000 美元来帮助具有社会意识的非营利组织,促进有价值的革新。第二、发...

popo聊天为你推荐
软银赛富阿里巴巴的诚信通和赛富通有什么区别非主流桌面背景图片22寸非主流桌面壁纸电脑管家和360哪个好360卫士和电脑管家,哪个更好燃气热水器和电热水器哪个好燃气热水器和电热水器哪个好音乐播放器哪个好音乐播放器哪个好用绝地求生加速器哪个好绝地求生用什么加速器比较好?dnf魔枪士转职哪个好dnf平民魔枪士转什么好视频软件哪个好手机看视频用什么软件好美国国际集团全球500强有哪些企业是美国的360云盘360云盘和微云那个好用?
老左 堪萨斯服务器 主机 pccw 域名优惠码 shopex空间 英文简历模板word win8升级win10正式版 台湾谷歌网址 100x100头像 北京双线机房 idc资讯 双11秒杀 速度云 qq云端 vip域名 789电视剧 万网空间管理 上海电信测速网站 cxz 更多