- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
fu附件10
福州大学项目技术学院
毕业设计评分表
学号
S260804009
姓名
程云
专业
软件技术
班级
嵌入式2)班
题目
局域网聊天室
指
导
教
师
评
语
指导教师论文评分
文章质量50分)
工作量10分)
文章结构30分)
特点10分)
初评成绩优、良、中、及格、不及格)
指导教师签字
日期
终评成绩
终
评
教
师
意
见
答辩成绩100分,仅评优学生参评)
终评成绩优、良、中、及格、不及格)
终评教师签字
日期
制表: 福州大学项目技术学院
专科生毕业设计论文)任务书
2018 年 12 月 26 日至2018 年 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 ( const QByteArray datagram, const QHostAddress host, quint16 port 。函数将数据包发出。值得注意的是,这里的地址使用了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所提供的静
原创力文档


文档评论(0)