文档介绍:袅fu附件10薂蒆蒅蚃蚀膀膆蚄肃福州大学工程技术学院蕿羆蒁膁罿蚇毕业设计评分表薃艿莈莇薄蚂学号袇S260804009膇姓名莂程云螀芇袈蒃肂羀专业莄软件技术薄班级芁嵌入式(2)班莀膄节荿衿袅题目莃局域网聊天室蚂芈薅蒄袀蚈指莆节膂肇肆芃芁导袆莅葿芀薇膂教虿莇膃袀聿肈师节蒈螈膈蒇羄评膀薅蒃肁芁羈语袁肈肆薆薂肀指导教师论文评分蒈羅莂膁薇莄文章质量(50分)肂罿工作量(10分)罿袄袃羀肇芃薃文章结构(30分)肁膆特点(10分)羇芄衿薈莆肄羀初评成绩(优、良、中、及格、不及格)蚇螅薀羁罿芅芁指导教师签字蝿肇日期蚄羁袀芆肃螁薈蒃蒂虿蚆袂终评成绩膆终节螀聿蚆羂薈膇评螃蕿芆蒄蒃蚀教袄芄蒈螆莃羄师腿肆蒀薁芇蒆意莈莅袅羁葿螈见蚁蒁袆螄莂芈答辩成绩(100分,仅评优学生参评)艿膃膂荿莇袇袃终评成绩(优、良、中、及格、不及格)莁蒅芆蚃膈袈蚅终评教师签字莃芀日期羆膅膄莁莈薄袄膈蒇制表:福州大学工程技术学院羄莀膀薅蒃肁芁专科生毕业设计(论文)任务书羈2010年12月26日至2011年5月26日肆题目:局域网聊天室袁姓名:程云肈学号:S260804009肆学院:福州大学工程技术学院薆专业:软件技术专业薂年级:2008级肀指导教师:(签名)蒈系主任(或教研室主任):(签章)羅研究内容莂本项目的设计目标为一个高性能的,易于使用的,面向企业和校园内部通信需求的局域网即时信息软件。它应具有如下特征:  膁1 、具有高性能,可同时处理多个连接请求。  薇2 、 对硬件要求低,适应范围广,运行稳定。    莄3、  具有一定的容错性能。肂 当用户登入聊天室时,用户输入的内容直接发送到其他有登入此聊天室的用户,用户与用户直接通信不需要经过服务器。罿最终的软件产品应具有如下功能:罿能够随时改变自己的昵称。袄能够自动更新其他用户的名单及在线人数。袃随时获取系统的当前时间。羀能够向其他用户传输文件。肇能够保存或者删除聊天记录。芃能够改变聊天的字体。薃技术要求肁熟练掌握QUdpSocket、QTcpServer和QTcpSocket组件。膆熟悉传输层的TCP/IP和UDP协议。羇掌握文件的传输方式。芄论文研究的工作要求衿提出选题《局域网聊天室》的初步设想。薈搜集、整理与论文有关的、充分的、准确的文献资料,扩充查阅范围。莆构思论文框架,编写论文提纲,向指导教师提出开题报告。肄分析、筛选已有的信息资料,提出研究设想与计划。羀撰写论文初稿,反复修改。蚇论文完成定稿,发给导师,准备回校后答辩。螅薀设计(论文)任务羁毕业设计(论文)的主要内容罿需求分析芅客户要求聊天软件只在局域网中使用,要有美观、易操作的界面。在主界面上可以显示所有在线的用户信息如(用户名、主机名、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中。用户会在离开前的同时