基于Qt的局域网聊天系统设计论文Word格式.doc
《基于Qt的局域网聊天系统设计论文Word格式.doc》由会员分享,可在线阅读,更多相关《基于Qt的局域网聊天系统设计论文Word格式.doc(39页珍藏版)》请在冰豆网上搜索。
基于Qt的局域网聊天系统设计
摘 要
随着互联网技术的迅猛发展,网络聊天在当今已经不算新鲜事物,但大多数网络聊天都需要借助Internet上的服务器,这就给那些具有规模化内部网络的用户造成了许多问题,如浪费网络资源、遭遇到网络攻击、传播的病毒、破坏防御系统等等。
尤其对规模化使用linux系统的公司,资源共享及即时通信系统不完善,为了方便内部网络的用户之间的沟通,需要开发一个基于局域网的信息收发工具,即时局域网聊天系统,实现在内部网络中进行信息的交流。
本系统主要是运用Qt技术来实现一个linux下的局域网聊天软件,完成即时聊天并传输简单的文件功能。
系统采用最基础的C++语言,用Qt技术完成界面开发,并使用了TCP/IP和UDP通信协议进行通信。
用TCP/IP通信实现文件的传送,用UDP通信实现聊天信息之间的传输。
关键词:
Qt,TCP/IP通信,UDP通信
Designoflocalareanetworkchat
SystembasedonQt
ABSTRACT
WiththerapiddevelopmentofInternettechnology,onlinechatisnotanewthingintoday,butmostoftheonlinechatwiththeserverontheInternet,whichcausedmanyproblemsforthosewithlarge-scaleinternalnetworkusers,suchasawasteofnetworkresourcesencounterednetworkattacks,thespreadofvirus,destroythedefensesystem.ConvenientcommunicationbetweentheinternalnetworksusersneedtodevelopaLAN-basedmessagingtools,real-timeLANchatsystemtoachievetheexchangeofinformationintheinternalnetwork.
ThesystemistheuseofQttechnologytoimplementaLANchatsoftware,completereal-timechatandtransferasimplefilefunctions.ThesystemusesthemostbasicC++language,completeinterfacedevelopmentwithQttechnology,anduseTCP/IPandUDPcommunicationprotocolstocommunicate.TCP/IPcommunication,filetransfer,chatbetweentheinformationwithUDPtraffictransmission.
KEYWORDS:
Qt,TCP/IPcommunication,UDPcommunication
目录
中文摘要……………………………………………………………………………..…………Ⅰ
英文摘要………………………………………………………………………………………..Ⅱ
1引言……………………………………………………………………………………...………1
1.1课题背景……………………………………………………………………...…..…1
1.2国内外研究的现状………………………………………………………....……1
1.3本课题研究的意义……………………………...…………………….....………1
1.4系统设计目标………………………………………………………………………2
2Qt介绍…………………………………………………………………………………………3
2.1功能介绍…………………………………………………………………………….3
2.2历史及发展…………………………………………………………………………3
2.3平台搭建……...………………………………….……...………………...………...4
3关键技术分析………………………………………………………………………………7
3.1TCP/IP…………………………………………………………………………………7
3.2UDP………………………………………………………………………………………7
3.3C/S架构……………………………………………………………………………..8
3.4信号与槽机制……………………………………………………………………..9
4系统设计……………………………………………………………………………………13
4.1系统总体架构……………………………………………………………...…….13
4.2Socket运用………………………………………………………………………13
4.3界面设计…………………………………………………………………………...14
5设计实现……………………………………………………………………………………16
5.1获取用户信息……………………………………………………………………16
5.2字体颜色………………………………………………………..………………….19
5.3消息记录…………………………………………………………………………...21
5.4消息发送与接收………………………………………………………………...22
5.5文件的传输与接收……………………………………………………………..25
6编译与测试………………………………………………………...……………………....29
6.1编译…………………………………………………………………………………..29
6.2测试…………………………………………………………………………………..23
6.3小结………………………………………………………………………………..…30
结束语…………………………………………………………………………………………...31
致谢………………………………………………………………………………………………32
参考文献………………………………………………………………………………………..33
附录………………………………………………………………………………………………34
1引言
1.1课题背景
即时通讯软件的出现正在逐渐改变人们的沟通与交际方式。
无论近在咫尺,还是远隔重洋,只需要动动键盘和鼠标就可以解决问题。
网络聊天程序越来越影响着我们的网络生活。
如腾讯QQ、微软MSN之类的程序可以很好的实现聊天和传输文件,但这些聊天程序都需要Internet的支持,而且具有浪费网络资源、易遭遇到网络攻击、传播的病毒、破坏防御系统等问题。
可见,局域网聊天系统的开发非常必要。
局域网聊天系统可以实现点对点连接,在连接并通信时,尤其是近程的即时通讯,彻底的脱离了远程的服务器,避免了和远程服务器连接时过多的浪费网络资源。
并且避免了服务器忙或与服务器无法连接时,浪费过多时间用于和服务器建立连接。
因此,局域网聊天软件是极具适应性和实用性的即时通讯软件。
1.2国内外研究的现状
目前,国内外企业对局域网的文件传输系统认识和使用情况并不好,各个企业单位在局域网内实现聊天,文件传输及资源共享还有很大的缺陷。
无论是从理论上或实践上都还不够完善。
文件传输系统由于比较复杂,可变因素较多,安全性低,因此发展还不成熟。
但是随着科学技术的发展,各种以局域网为单位的文件传输系统已经进入稳健发展期,比如说市面上比较普遍使用的飞鸽传书等以内部网络为中心的资源共享系统也即将进入高速发展期。
在一些企业及公司中,局域网聊天系统已经成为了不可或缺的一部分,如知识库、网络会议、数据库应用和数据的同步与备份等应用。
这些应用对局域网的信息吞吐、处理能力的要求也越来越高。
这些在原有局域网设计之初未曾考虑到的新情况的出现使得局域网不堪重负,容易发生信息阻塞,此时,局域网不但不能提高生产效率,反而成为工作效率的瓶颈。
1.3本课题研究的意义
随着全球信息化进程的不断发展,网络也在飞速发展。
出于高效、快速地处理各种事务的目的,越来越多的企业和单位在其内部使用局域网来进行工作和交流。
在内部局域网的帮助下,企业得以简化信息流程,提高信息交换的速度,从而提高工作效率。
不仅如此,局域网聊天系统还具备通讯安全、文件传输速度快、方便资源共享等优点。
基于Qt技术运用Socket设计的Linux下的局域网聊天系统是局域网通信软件的一个具体实例,它很好地诠释了Socket通信的原理,以C/S架构通过TCP/IP协议实现点到点文件传输及聊天功能,并且在局域网部通信、教学、讨论等应用中都具有一定的实用价值。
它具有信息收发速度快,保密性好,占用网络带宽资源低,占用服务器吞吐能力低,易于编程实现等优点。
1.4系统设计目标
基于Qt的局域网聊天系统设计,主要为需要局域网内聊天的Linux用户设计一个聊天平台;
本系统的目的是为了让Linux系统下的局域网内用户能随时随地通过网络进行交流并能够传输文件。
最终的程序应具有如下功能:
1.实现在Linux下的局域网内聊天功能。
2.能够更改输入文字的字体、颜色,并有文字加粗、倾斜及下划线功能。
3.能够采集聊天室内成员的信息,并显示成员IP,成员名和所属组。
4.实现聊天信息的保存及清空。
5.实现文件的传输。
2Qt介绍
2.1功能简介
Qt是一个多平台的C++图形用户界面应用程序框架,是完全面向对象的,并允许组件编程。
不仅如此,Qt还具有优良的跨平台特性,良好的封装机制提供了高度模块化的设计,开发快捷丰富的API,支持2D,3D图形渲染,支持OpenGL.XML数据库。
能够提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。
Qt为实现通信功能,特别提供了QTNetwork来支持网络程序设计功能,支持通用协议,如FTP和UDP协议,提供了如QTcpSocket类,QTcpServer类和QUdpSocket类等供开发人员使用。
QtCreator是Qt被Nokia收购后推出的一款新的轻量级集成开发环境(IDE)。
此IDE能够跨平台运行,支持的系统包括Linux(32位及64位)、MacOSX以及Windows。
根据官方描述,QtCreator的设计目标是使开发人员能够利用Qt这个应用程序框架更加快速及