局域网聊天室.docx
- 文档编号:6960979
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:34
- 大小:521.44KB
局域网聊天室.docx
《局域网聊天室.docx》由会员分享,可在线阅读,更多相关《局域网聊天室.docx(34页珍藏版)》请在冰点文库上搜索。
局域网聊天室
fu附件10
福州大学工程技术学院
毕业设计评分表
学号
S2*******9
姓名
程云
专业
软件技术
班级
嵌入式
(2)班
题目
局域网聊天室
指
导
教
师
评
语
指导教师论文评分
文章质量(50分)
工作量(10分)
文章结构(30分)
特点(10分)
初评成绩(优、良、中、及格、不及格)
指导教师签字
日期
终评成绩
终
评
教
师
意
见
答辩成绩(100分,仅评优学生参评)
终评成绩(优、良、中、及格、不及格)
终评教师签字
日期
制表:
福州大学工程技术学院
专科生毕业设计(论文)任务书
2010年12月26日至2011年5月26日
题目:
局域网聊天室
姓名:
程云
学号:
S2*******9
学院:
福州大学工程技术学院
专业:
软件技术专业
年级:
2008级
指导教师:
(签名)
系主任(或教研室主任):
(签章)
1.研究内容
本项目的设计目标为一个高性能的,易于使用的,面向企业和校园内部通信需求的局域网即时信息软件。
它应具有如下特征:
1 、具有高性能,可同时处理多个连接请求。
2 、 对硬件要求低,适应范围广,运行稳定。
3、 具有一定的容错性能。
当用户登入聊天室时,用户输入的内容直接发送到其他有登入此聊天室的用户,用户与用户直接通信不需要经过服务器。
最终的软件产品应具有如下功能:
(1)能够随时改变自己的昵称。
(2)能够自动更新其他用户的名单及在线人数。
(3)随时获取系统的当前时间。
(4)能够向其他用户传输文件。
(5)能够保存或者删除聊天记录。
(6)能够改变聊天的字体。
2.技术要求
(1)熟练掌握QUdpSocket、QTcpServer和QTcpSocket组件。
(2)熟悉传输层的TCP/IP和UDP协议。
(3)掌握文件的传输方式。
3.论文研究的工作要求
(1)提出选题《局域网聊天室》的初步设想。
(2)搜集、整理与论文有关的、充分的、准确的文献资料,扩充查阅范围。
(3)构思论文框架,编写论文提纲,向指导教师提出开题报告。
(4)分析、筛选已有的信息资料,提出研究设想与计划。
(5)撰写论文初稿,反复修改。
(6)论文完成定稿,发给导师,准备回校后答辩。
设计(论文)任务
毕业设计(论文)的主要内容
一.需求分析
客户要求聊天软件只在局域网中使用,要有美观、易操作的界面。
在主界面上可以显示所有在线的用户信息如(用户名、主机名、IP地址),可以多人聊天,聊天记录可以保存或者删除等等。
二.方案设计
聊天室主要分为五个模块,模块一:
textEdit用于发送消息;模块二:
textBrowser用于接收消息;模块三:
tableWidget用于接收在线用户的信息如(用户名、主机名、IP地址);模块四:
用于发送文件;模块五:
与模块四相对应用于接收模块四发送出来的文件。
三.方案实施
1、模块一也可以称为用户发言区。
专门用来处理用户所输入的发言等,可以对发言的字体大小和颜色进行更改。
用户发言后直接点击发送按钮,此时就会调用发送函数sendMessage(),将textEdit组件中的内容发送出去。
通过QByteArray型局部变量datagram中构建待发送的数据包,然后通过QUdpSocket类的writeDatagram(constQByteArray&datagram,constQHostAddress&host,quint16port);函数将数据包发出。
值得注意的是,这里的地址使用了QHostAddress:
:
Broadcast值,它对应IPv4下的广播地址,如果将该值更换成单机地址(如本机地址QHostAddress:
:
LocalHost),将变成一个普通的点对点的UDP程序。
2、接收消息模块textBrowser组件实现,接受数据函数首先调用QUdpSocket类的成员函数hasPendingDatagrams()以判断是否有可供读取的数据。
如果有则通过pendingDatagramSize()获取当前可供读取的UDP报文大小,并据此大小分配接收缓冲区,最后读取相应数据。
3、用户信息用tableWidget组件实现,在tableWidget中显示了用户的,用户
名、主机名、IP地址。
有新用户加入时就调用newParticipant()函数处理新用户,有用户离开时就会调用participantLeft()函数处理离开的用户。
用户加入时会把自己的用户名、主机名、IP地址发送出去,其他用户就会接收到并将其内容显示在tableWidget中。
用户会在离开前的同时发送一个离开的信息,其他用户接到此消息后就立刻将此用户的信息如(用户名、主机名、IP地址)删除。
4、用户在界面按下"打开"按钮后,openFile()槽函数将被调用。
该函数通过Qt文件选择对画框QFileDialog所提供的静态函数getOpenFileName(),能够很容易地返回用户所选取的文件名,这里将其保存在私有成员变量fileName中。
如果选中返回的文件名非空,将激活"发送"按钮。
单击发送按钮就开启监听,并且等待接收者接受。
当接收者接受时就开始建立连接。
5、当接收到其他用户发来的文件接收请求时,用户可以接受请求,也可以拒绝请求。
当接收请求后,newConnect()函数将被调用。
该函数的主要功能是连接服务器,它使用了QTcpSocket类的connectToHost()函数,其中的两个参数分别是服务器主机地址及其监听端口。
接收程序完成的功能与发送程序恰恰相反,它负责从TCP连接上接收数据,并将其写入当前目录下的指定文件中。
四.系统维护
系统维护是面向系统中各个构成因素的,按照维护对象不同,本系统维护的内容可分为以下几类:
(1)系统应用程序维护。
系统的业务处理过程是通过应用程序的运行而实现的,一旦程序发生问题或业务发生变化,就必然地引起程序的修改和调整,因此系统维护的主要活动是对程序进行维护。
(2)数据维护。
业务处理对数据的需求是不断发生变化的,除了系统中主体业务数据的定期正常更新外,还有许多数据需要进行不定期的更新,或随环境或业务的变化而进行调整,以及数据内容的增加、数据结构的调整,都是数据维护的工作内容。
(3)代码维护。
随着系统应用范围的扩大,应用环境的变化,系统中的各种代码都需要进行一定程度的增加、修改、删除,以及设置新的代码。
毕业设计(论文)任务更改记录
更改原因
更改内容
主要参考文献
[1](加拿大)布兰切特C++GUIQt4编程(第二版)电子工业出版社
[2]蔡志明精通QT4编程电子工业出版社
[3]成洁,卢紫毅Linux窗口程序设计——QT精彩实例分析清华大学出版社
[4]
[5]
[6]
[7]
[8]
[9]
福州大学毕业论文开题报告
专业名称
软件技术专业
论文方向
嵌入式系统开发
指导老师
张继红
学生姓名
学号
程云
S2*******9
开题报告日期
2010-12-26
论文题目
局域网聊天室
开题报告内容
一、选题的准备
1、用户使用可行性
系统使用的技术是完全基于原有的QQ系统上的改进,故用户不必考虑新系统带来的不会使用等等,用户只需懂初步计算机的操作即可使用本系统。
2、技术可行性
有搭建好的基于Windows的软硬件平台,本着对QT开发环境有了一定的了解,需继续深入学习QT和Windowssocket编程。
而局域网聊天室系统实现的理论及技术已经日趋成熟,因此局域网聊天室应用软件的开发手段是完全可行的。
二、背景
自从1997年几个以色列年轻人推出QQ以后,全球IM产品得到了迅速发展,在国际上,AOL、MSNMessenger和YAHOOMessenger基本上垄断了整个美国M市场。
在国内则由腾讯、网易、新浪这几家大型IM软件产商占据了国内近90%的IM市场。
伴随着计算机操作系统的不断推陈出新,各种硬件设备的更新换代。
网络技术的日新月异,局域网在人们的日常生活中越来越重要。
无论是单位还是家庭,当拥有多台计算机时就可以将它们连接起来,组成一个局域网,就可以通过局域网聊天室实现组员之间的交互。
随着经济和计算机网络技术的发展,计算机网络已经深入到人们的生活中各个角落,局域网不需要Internet的支持,还可以节省一些不必要的开支。
三、设想
了解客户需求选择局域网聊天室的运行环境,根据所选择的运行环境开发局域网聊天室系统。
实现客户要求的所有功能如(多人聊天、文件传输、保存聊天记录)等。
通过局域网连接各个客户端。
四、研究方法及其特点
文献研究法
文献研究法是根据一定的研究目的或课题,通过调查文献来获得资料,从而全面地、正确地了解掌握所要研究的问题。
其作用有:
①能了解有关问题的历史和现状,帮助确定研究课题。
②能形成关于研究对象的一般印象,有助于观察和访问。
③能得到现实资料的比较资料。
④有助于了解事物的全貌。
实验法
实验法是通过主支变革、控制研究对象来发现与确认事物间的因果联系的一种科研方法。
其主要特点是:
第一、主动变革性。
观察与调查都是在不干预研究对象的前提下去认识研究对象,发现其中的问题。
而实验却要求主动操纵实验条件,人为地改变对象的存在方式、变化过程,使它服从于科学认识的需要。
第二、控制性。
科学实验要求根据研究的需要,借助各种方法技术,减少或消除各种可能影响科学的无关因素的干扰,在简化、纯化的状态下认识研究对象。
第三,因果性。
实验以发现、确认事物之间的因果联系的有效工具和必要途径。
五、写作提纲
一、绪论
1、提出中心论题。
2、概述局域网聊天室的背景。
3、项目概述。
二、系统分析
1、需求分析。
2、可行性分析。
三、系统总体设计
1、描述系统的功能。
2、简述系统的开发环境与运行环境。
3、聊天室系统图。
4、概述聊天室实现的几个关键技术。
四、系统的详细设计
1、概述设计的原理与工作原理。
2、概述设计思路。
3、窗体的设计与实现窗体中控件的功能,概述如何实现关键的部分,以及列出关键的代码。
五、系统运行
1、描述系统如何运行。
2、列出系统运行的效果图。
六、结束语
1、总结。
2、致谢。
3、参考文献。
指导教师意见
导师签名:
年月日
摘要
网络聊天无疑是网友们非常惬意和热衷的,近年来,随着QQ、MSN等聊天工具的飞速普及,为广大网友进行网络聊天提供了很大的方便。
但遗憾的是,这些软件只局限于Internet的应用,如果想在局域网内使用,则还需要使用这些软件的局域网专用版本来建立一个专门的聊天网络,然而局域网聊天室是不需要Internet的应用的,局域网聊天室在一些小公司和校园内部的使用还是很流行的,它即方便了交流又减少了不必要的开支。
关键词:
局域网聊天聊天室QT
Abstract
Webchatisundoubtedlyareverycomfortableandenthusiasticusers,andinrecentyears,withtheQQ,MSNandotherchattoolsfortherapidpopularizationoftheInternetchatforthemajorityofusersprovidesagreatconvenience.Unfortunately,thesoftwareisonlylimitedtoInternetapplications,ifyouwanttouseintheLAN,youalsoneedtousespecialversionsofthesoftwaretocreatealocalareanetworkdedicatedchatnetwork,LANchatroomisnotrequired,howevertheapplicationofInternet,LANchatroomsinsmallcompaniesandwithinthecampusisstillverypopularuse,itisconvenientforcommunicationandreduceunnecessaryexpenses.
Keywords:
LocalareanetworkchatChatroomQT
第1章 绪论
当今世界正处于信息时代,计算机和通信网络是这一时代所谓“信息基础设施”。
网络化是计算机技术九十年代的重要发展趋势之一。
目前计算机网络的新发展是:
异机种网络和异网互联有较大突破。
TCP/IP协议在异网互联中体现出了其强大的生命力,以它为基础组建的Internet是目前国际上规模最大的计算机网间网,到1991年底世界上已有26个国家的五千多个网络连入Internet,其中包含了数千个组织的30万台主机,用户数以百万计。
近年来,随着全球信息化进程的不断发展,网络也在飞速发展。
出于高效、快速地处理各种事务的目的,越来越多的企业在其内部使用局域网来进行工作。
在内部局域网的帮助下,企业得以简化信息流程,提高信息交换的速度,从而提高工作效率。
局域网聊天室为同学们提供了免费的上网聊天和获取信息的渠道,方便了学校的管理,更方便了学生获取信息,只要学生登入聊天室就可以享受免费的聊天渠道,并且这个系统可以作为公司的内部交流工具,当然也是免费的,只要构建局域网。
由于现在,在校的聊天和公司内部的聊天普遍都需要登入外网,不仅需要付费并且出于安全考虑,需要构建一个内部的聊天机制,来获取公司内部的消息,不仅方便了管理而且更有利于学生和员工获取信息。
开发网络聊天室,以提供内部人员及操作者进行消息的传递,方便内部人员的交流与合作。
为了让自己提高软件开发的能力,学习编程技巧,提高自己的设计思想,通过本次工程开发,我与老师之间的交流和同学之间的合作,提高了自身的能力
1.1背景
该项目开发的软件为局域网聊天室系统软件,在如今信息化的社会,信息传递越来越占主流地位,网络也就成为必不可少的媒介,由于网络的不稳定性.安全性和保密性,不进入外网就可以在局域网内交流信息成为必要,局域网内部成员信息交流和传输的安全和便捷的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位,事业单位等局域网的信息更方便的交流。
1.3项目概述
本项目主要用于在不进入外网的前提下,在局域网内建立聊天室,在聊天室里传输文件,聊天交流工作信息。
第2章系统分析
2.1需求分析
客户要求聊天软件只在局域网中使用,要有美观、易操作的界面。
在主界面上可以显示所有在线的用户信息如(用户名、主机名、IP地址),可以多人聊天,聊天记录可以保存或者删除等等。
下面列出比较核心的部分:
(1)只限于局域网内聊天。
(2)美观的操作界面。
(3)主界面显示聊天信息,在线用户信息。
(4)可与多人聊天。
(5)可以保存和删除聊天记录。
(6)可以实现文件的相互传输。
2.2可行性分析
已有搭建好的基于Windows的软硬件平台,本着对QT开发环境有了一定的了解,需继续深入学习QT和Windowssocket编程。
第3章 聊天室系统总体设计
3.1 系统的功能要求
本项目的设计目标为一个高性能的,易于使用的,面向企业和校园内部通信需求的局域网即时通信软件。
它应具有如下特征:
1、具有高性能,可同时处理多个连接请求。
2、对硬件要求低,适应范围广,运行稳定。
3、具有一定的容错性能。
当用户登入聊天室时,用户输入的内容直接发送到其他有登入此聊天室的用户,用户与用户直接通信不需要经过服务器。
最终的软件产品应具有如下功能:
(1)能够随时改变自己的昵称。
(2)能够自动更新其他用户的名单及在线人数。
(3)随时获取系统的当前时间。
(4)能够向其他用户传输文件。
(5)能够保存或者删除聊天记录。
(6)能够改变聊天的字体。
(7)能够多人聊天。
3.2 开发环境及运行环境
3.2.1 开发环境
●QtCreator
3.2.2 运行环境
●Mini2440开发板
●Windows操作系统
●320*240或以上的屏幕分辨率
3.3 软件架构
图1
3.3系统分析
3.3.1用例图
基于上面的需求分析,我们可以列出用户操作的模块,其中的每个模块对应一个功能,如图2所示。
图2UML用例图
3.3.2活动图
根据用例图可画出聊天室的活动图,如图3所示。
图3
3.4系统实现的几个关键技术
3.4.1 系统的结构
此系统把服务器也集成到客户端了,客户端的作用就有直接,接收和处理其他客户端的数据请求,有时,可能有多个客户向同一个客服端同时请求服务,这就需要这个客服端中充当服务端的模块决定怎样处理这些请求。
所以不需要服务器两个或者多个客户端就能很好地进行通信。
该系统采用Socket组件的方法实现了,多个客户端之间的通信。
所有的客户端只要拥有等待的数据报,就立刻开始接收数据。
3.4.2 灵活应用QUdpSocket、QTcpServer和QTcpSocket组件
在QT中QUdpSocket可以实现消息的相互传递,然而QTcpServer和QTcpSocket配合使用可以实现文件的相互传输。
readDatagram()方法就是用来接收数据报的,他可以将其他客户端发送出来的数据报接收并存储起来。
writeDatagram()方法是用来发送数据报的,他将数据报以广播的形式发送出去。
QTcpServer和QTcpSocket是用来发送和接受文件的。
第4章 聊天室客户端系统详细设计
4.1设计原理和工作原理
计算机网络是由一系列网络通信协议组成的,其中的核心协议是传输层的TCP/IP和UDP协议。
TCP是面向连接的,通信双方保持一条通路,好比目前的电话线,使用telnet登录BBS,用的就是TCP协议;UDP是无连接的,通信双方都不保持对方的状态,浏览器访问Internet时使用的HTTP协议就是基于UDP协议的[3]。
TCP和UDP协议都非常复杂,尤其是TCP协议,为了保证网络传输的正确性和有效性,必须进行一系列复杂的纠错和排序等处理。
UDP和TCP都是基于TCP/IP体系结构的协议。
UDP是一种面向无连接、不可靠的协议,在传输前不需要建立连接。
远程主机接到UDP数据报后,不需要给出任何应答。
它传送的数据包是独立的,前后无任何顺序关系。
TCP则是提供面向连接、可靠的服务,在传送数据前两台主机需要进行“三次握手”。
在建立连接之后才能传送数据,TCP提供可靠服务,因此不可避免地增加了一些开销,如应答、流量控制、定时以及连接管理等。
虽然UDP协议在可靠性方面不如TCP协议,但效率却比TCP高,当每次传送的数据量很少而且网络质量较高时,UDP也同样可以达到实用的可靠性要求。
在Internet(广域网)和Intranet(局域网)上的通信程序一般都是以服务器提供服务端连接响应,使用者通过客户端程序登录到服务器,就可以与登录在同一服务器上的用户交谈,这是一个面向连接的通信过程。
因此,程序要在TCP/IP环境下,实现服务器端和客户端两部分程序。
在TCP/IP网络应用中,通信的两个进程相互作用的主要模式是客户机/服务器模式,即客户端向服务器发出请求,服务器接收到请求后提供相应的服务。
客户机/服务器模式的建立基于以下两点:
首先,建立网络的起因是网络中软、硬件资源、运算能力和信息不均等,需要共享,从而造就拥有众多资源的主机提供服务,资源较少的客户请求服务这一非对等作用。
其次,网间进程通信完全是异步的,相互通信的进程间既不存在父子关系,又不共享内存缓冲区,因此需要一种机制为希望通信的进程间建立一种联系,为二者的数据交换提供同步,这就是基于客户机/服务器模式的TCP/IP。
客户机/服务器模式在操作过程中采取的是主动请求方式:
首先服务器方要启动,并根据请求提供相应服务:
(1)打开一通信通道并告知本地主机,它愿意在某一公认地址端口上接受客户请求。
(2)等待客户请求到达该端口。
(3)接收到重复服务请求,处理该请求并发送应答信号。
接收并发服务请求,要激活一新进程来处理这个客户请求。
新进程处理此客户请求,并不需要对其他请求做出应答。
服务完成后,关闭此新进程与客户的通信链路,并终止。
(4)返回第二步,等待另外的客户请求
(5)关闭服务器。
客户方:
(1)打开一通信通道,并连接到服务器所在主机的特定端口。
(2)向服务器发出服务请求报文,等待并接收应答;继续提出请求。
(3)请求结束后关闭通信通道并终止。
从上面的描述过程可知:
1、客户与服务器进程的作用是非对称的。
2、服务进程一般是先于客户请求启动的。
只要系统运行,该进程一直存在,直到正常终止。
文件接收和发送的工作原理
4.2设计思路
在制作较为大型的软件,一般必须先对软件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 局域网 聊天室