基于UDP协议的局域网聊天软件.docx
- 文档编号:29282223
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:16
- 大小:4.28MB
基于UDP协议的局域网聊天软件.docx
《基于UDP协议的局域网聊天软件.docx》由会员分享,可在线阅读,更多相关《基于UDP协议的局域网聊天软件.docx(16页珍藏版)》请在冰豆网上搜索。
基于UDP协议的局域网聊天软件
重庆大学课程设计报告
课程设计题目:
点对点数据交换(P2P)
学院:
计算机学院
专业班级:
计科03班,计科06班
年级:
2013级
姓名:
李超,刘文哲,王雪瑶
学号:
20134941、20134956、20135051
完成时间:
2016年07月02日
成绩:
指导教师:
郑林江
重庆大学教务处制
课程设计指导教师评定成绩表李超20134941
项目
分值
优秀
(100>x≥90)
良好
(90>x≥80)
中等
(80>x≥70)
及格
(70>x≥60)
不及格(x<60)
评分
参考标准
参考标准
参考标准
参考标准
参考标准
学习态度
15
学习态度认真,科学作风严谨,严格保证设计时间并按任务书中规定的进度开展各项工作
学习态度比较认真,科学作风良好,能按期圆满完成任务书规定的任务
学习态度尚好,遵守组织纪律,基本保证设计时间,按期完成各项工作
学习态度尚可,能遵守组织纪律,能按期完成任务
学习马虎,纪律涣散,工作作风不严谨,不能保证设计时间和进度
技术水平与实际能力
25
设计合理、理论分析与计算正确,实验数据准确,有很强的实际动手能力、经济分析能力和计算机应用能力,文献查阅能力强、引用合理、调查调研非常合理、可信
设计合理、理论分析与计算正确,实验数据比较准确,有较强的实际动手能力、经济分析能力和计算机应用能力,文献引用、调查调研比较合理、可信
设计合理,理论分析与计算基本正确,实验数据比较准确,有一定的实际动手能力,主要文献引用、调查调研比较可信
设计基本合理,理论分析与计算无大错,实验数据无大错
设计不合理,理论分析与计算有原则错误,实验数据不可靠,实际动手能力差,文献引用、调查调研有较大的问题
创新
10
有重大改进或独特见解,有一定实用价值
有较大改进或新颖的见解,实用性尚可
有一定改进或新的见解
有一定见解
观念陈旧
论文(计算书、图纸)撰写质量
50
结构严谨,逻辑性强,层次清晰,语言准确,文字流畅,完全符合规范化要求,书写工整或用计算机打印成文;图纸非常工整、清晰
结构合理,符合逻辑,文章层次分明,语言准确,文字流畅,符合规范化要求,书写工整或用计算机打印成文;图纸工整、清晰
结构合理,层次较为分明,文理通顺,基本达到规范化要求,书写比较工整;图纸比较工整、清晰
结构基本合理,逻辑基本清楚,文字尚通顺,勉强达到规范化要求;图纸比较工整
内容空泛,结构混乱,文字表达不清,错别字较多,达不到规范化要求;图纸不工整或不清晰
指导教师评定成绩:
指导教师签名:
年月日
课程设计指导教师评定成绩表刘文哲20134956
项目
分值
优秀
(100>x≥90)
良好
(90>x≥80)
中等
(80>x≥70)
及格
(70>x≥60)
不及格(x<60)
评分
参考标准
参考标准
参考标准
参考标准
参考标准
学习态度
15
学习态度认真,科学作风严谨,严格保证设计时间并按任务书中规定的进度开展各项工作
学习态度比较认真,科学作风良好,能按期圆满完成任务书规定的任务
学习态度尚好,遵守组织纪律,基本保证设计时间,按期完成各项工作
学习态度尚可,能遵守组织纪律,能按期完成任务
学习马虎,纪律涣散,工作作风不严谨,不能保证设计时间和进度
技术水平与实际能力
25
设计合理、理论分析与计算正确,实验数据准确,有很强的实际动手能力、经济分析能力和计算机应用能力,文献查阅能力强、引用合理、调查调研非常合理、可信
设计合理、理论分析与计算正确,实验数据比较准确,有较强的实际动手能力、经济分析能力和计算机应用能力,文献引用、调查调研比较合理、可信
设计合理,理论分析与计算基本正确,实验数据比较准确,有一定的实际动手能力,主要文献引用、调查调研比较可信
设计基本合理,理论分析与计算无大错,实验数据无大错
设计不合理,理论分析与计算有原则错误,实验数据不可靠,实际动手能力差,文献引用、调查调研有较大的问题
创新
10
有重大改进或独特见解,有一定实用价值
有较大改进或新颖的见解,实用性尚可
有一定改进或新的见解
有一定见解
观念陈旧
论文(计算书、图纸)撰写质量
50
结构严谨,逻辑性强,层次清晰,语言准确,文字流畅,完全符合规范化要求,书写工整或用计算机打印成文;图纸非常工整、清晰
结构合理,符合逻辑,文章层次分明,语言准确,文字流畅,符合规范化要求,书写工整或用计算机打印成文;图纸工整、清晰
结构合理,层次较为分明,文理通顺,基本达到规范化要求,书写比较工整;图纸比较工整、清晰
结构基本合理,逻辑基本清楚,文字尚通顺,勉强达到规范化要求;图纸比较工整
内容空泛,结构混乱,文字表达不清,错别字较多,达不到规范化要求;图纸不工整或不清晰
指导教师评定成绩:
指导教师签名:
年月日
课程设计指导教师评定成绩表王雪瑶20135051
项目
分值
优秀
(100>x≥90)
良好
(90>x≥80)
中等
(80>x≥70)
及格
(70>x≥60)
不及格(x<60)
评分
参考标准
参考标准
参考标准
参考标准
参考标准
学习态度
15
学习态度认真,科学作风严谨,严格保证设计时间并按任务书中规定的进度开展各项工作
学习态度比较认真,科学作风良好,能按期圆满完成任务书规定的任务
学习态度尚好,遵守组织纪律,基本保证设计时间,按期完成各项工作
学习态度尚可,能遵守组织纪律,能按期完成任务
学习马虎,纪律涣散,工作作风不严谨,不能保证设计时间和进度
技术水平与实际能力
25
设计合理、理论分析与计算正确,实验数据准确,有很强的实际动手能力、经济分析能力和计算机应用能力,文献查阅能力强、引用合理、调查调研非常合理、可信
设计合理、理论分析与计算正确,实验数据比较准确,有较强的实际动手能力、经济分析能力和计算机应用能力,文献引用、调查调研比较合理、可信
设计合理,理论分析与计算基本正确,实验数据比较准确,有一定的实际动手能力,主要文献引用、调查调研比较可信
设计基本合理,理论分析与计算无大错,实验数据无大错
设计不合理,理论分析与计算有原则错误,实验数据不可靠,实际动手能力差,文献引用、调查调研有较大的问题
创新
10
有重大改进或独特见解,有一定实用价值
有较大改进或新颖的见解,实用性尚可
有一定改进或新的见解
有一定见解
观念陈旧
论文(计算书、图纸)撰写质量
50
结构严谨,逻辑性强,层次清晰,语言准确,文字流畅,完全符合规范化要求,书写工整或用计算机打印成文;图纸非常工整、清晰
结构合理,符合逻辑,文章层次分明,语言准确,文字流畅,符合规范化要求,书写工整或用计算机打印成文;图纸工整、清晰
结构合理,层次较为分明,文理通顺,基本达到规范化要求,书写比较工整;图纸比较工整、清晰
结构基本合理,逻辑基本清楚,文字尚通顺,勉强达到规范化要求;图纸比较工整
内容空泛,结构混乱,文字表达不清,错别字较多,达不到规范化要求;图纸不工整或不清晰
指导教师评定成绩:
指导教师签名:
年月日
重庆大学本科学生课程设计任务书
课程设计题目
计算机网络课程设计
学院
计算机学院
专业
计算机科学与技术
年级
2013
已知参数和设计要求:
通过计算机网络的课程设计,使学生了解、掌握TCP、UDP协议的原理;了解、掌握Socket编程的方法;了解、掌握应用协议设计的思想;利用WinsockAPI或者JavaSocketAPI编制一个能部署在Internet上的点对点数据交换(P2P)、共享白板。
要求每组学生(2-4人/组)从上述2个系统中任选一个,独立完成系统的功能设计和实现,使所实现的系统可以能够包含主要的内容要求,并要求学生必须在报告中明确具体分工情况。
学生应完成的工作:
分组2-4人/组。
内容:
协议编程。
语言:
C++或Java。
以下两项课题选择一个课题完成。
1):
实现基于服务器转发的任意多点间的数据共享与交换。
●类似P2P的QQ聊天系统,有客户端和服务器端。
●服务器端记录当前在线客户列表,把客户列表发送给每一个在线客户,并实时刷新(要求基于UDP刷新和管理在线用户)。
●任一个用户可以和任意其它的用户进行交互,即从在线客户列表中选择一个或一组其它客户通过服务器转发彼此进行交互。
●用户间可进行点对点文件目录共享(指定一个文件目录,可远程查阅,并下载指定文件)。
2)共享白板:
实现基于服务器转发的多点间的文字,简单图案等信息的远程实时共享。
●服务器端记录当前在线客户列表,把客户列表发送给每一个在线客户,并实时刷新(要求基于UDP刷新和管理在线用户)。
●所有客户端具能够接收到其它任意客户的信息,包括文字信息和简单图案信息。
●对客户端绘制的图形,其他用户获得权限后可做简单的移动和修改。
●考虑多个用户同时操作同一图形对象时的互斥机制。
目前资料收集情况(含指定参考资料):
1)《计算机网络》第4版谢希仁电子工业出版社2003年.6月
2)用TCP/IP进行网络互联(第一卷) D.E.Comer电子工业出版社2004年.11月第四版
3)TCP/IP网络原理与技术周明天、汪文勇:
清华大学出版社:
1993
4)VisualC++网络高级编程,陈坚,人民邮电出版社,2001年08月
5) Java网络高级编程,殷兆麟,清华大学出版社,2005年05月
课程设计的工作计划:
1.需求分析(说明系统目的,要求,操作流程,开发工具与开发平台)
2.总体设计(描述系统功能,系统架构,模块化分)
3.详细设计(建立系统的数据结构,协议结构,数据流程图)
4.系统实现编码(用所选开发工具完成应用系统)
任务下达日期2016年6月15日
完成日期2016年07月02日
指导教师(签名)
学生李超,刘文哲,王雪瑶(签名)
1、需求分析
1.系统目的及要求
点对点交换(P2P)——实现基于服务器转发的任意多点间的数据共享与交换。
●类似P2P的QQ聊天系统,有客户端和服务器端。
●服务器端记录当前在线客户列表,把客户列表发送给每一个在线客户,并实时刷新(要求基于UDP刷新和管理在线用户)。
●任一个用户可以和任意其它的用户进行交互,即从在线客户列表中选择一个或一组其它客户通过服务器转发彼此进行交互。
●用户间可进行点对点文件目录共享(指定一个文件目录,可远程查阅,并下载指定文件)。
2.操作流程
a.设计服务器端和客户端的界面
服务器端的界面是一个菜单栏,包含用户列表,以显示当前在线的用户。
客户端界面包含三部分:
●发送框和菜单栏:
前者用于发送消息,后者用于显示接受者和接收到的消息;
●聊天室:
显示当前在线的客户。
并且对要发消息的对象进行选择。
●设置用户name,port。
b.设计消息传送的协议
发送的消息根据消息接受对象在客户端中进行选择。
3.开发语言与开发平台
本次开发基于LINUX操作系统,语言为C++,开发平台为QT。
2、总体设计
1.系统功能
(1).开启服务器端和客户端。
(2)在客户端设置name,port等,以便于与服务器端的连接与用户识别。
(3)登录服务器端,建立连接。
此时,在服务器端可以看到当前在线客户列表,且每一个客户列表中也显示了当前的在线客户,并实时刷新。
(4)发送消息:
在客户端中输入消息,并选择要发送消息的对象,点击发送。
若未选择对象,消息将不会发送出去。
2.系统架构
图为在两个用户的情况下的系统架构。
3.模块划分
客户端:
服务器端:
3、详细设计
1.系统的数据结构
服务器端的设计:
函数
客户端的设计:
函数
2.协议结构
消息传送协议:
从客户端的在线用户列表中选择接收消息的对象,并发送消息。
如果未选择对象,消息将不会发出。
对于消息的传输,在服务器端,先建立端口侦听。
当客户在线时,服务器可监听到客户端请求,于是两端建立连接,通过对消息的封装进行通信。
因为对接收消息的对象进行了选择,当消息传送到服务器时,服务器解析,得到需要传送的对象,再将发送端的客户名以及消息传送给接收端。
3.数据流程图
见上图,箭头指向即为数据流向
4.运行界面演示
设置客户端A的name,port,服务器端显示A在线:
分别设置B,C,D,在客户端和服务器端均显示在线客户:
关闭客户端C,此时在线客户列表中C自动消失:
D向A发送消息,在A中显示客户端名D以及发送的消息:
D向B发送消息:
在客户端D的在线客户列表中选中A,B,可同时向两者发送消息:
4、总结
我们成功实现了服务器端上在线客户记录的更新,以及信息的发送。
缺陷在于没有实现文件的发送功能。
5、源代码
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 UDP 协议 局域网 聊天 软件