网络程序设计大作业
题 目: 基于 python 的聊天室程序
学 院: xxxxxx
专 业: 通信工程(计算机通信网络)
班 级: xxxxx
学 号: xxxxx
姓 名: XXXX
指导教师: xxxx
起止日期: 2021.12.12 --2022.1.7
五邑大学
智能制造学部
要求:
1. 附交源代码一份,不要超过 10M;
2. 格式参考样文,要有目录和章节。
指导教师审阅意见及成绩评定:
指导老师签章:
日 期: 年 月 日
网络程序设计大作业
1
目 录
一、序言..................................................................................................................................1
二、网络聊天系统的背景......................................................................................................2
三、课程设计的目的和主要内容..........................................................................................3
目的:...............................................................................................................................3
主要内容:........................................................................................................................3
四、设计环境..........................................................................................................................4
五、用户需求分析..................................................................................................................5
1.功能需求分析........................................................................................................................................5
2.性能需求分析........................................................................................................................................5
3.运行需求分析........................................................................................................................................5
六、系统总体设计..................................................................................................................6
1.Socket 通信原理介绍............................................................................................................................6
2.Tcp 协议实现原理.................................................................................................................................7
3.系统总体设计........................................................................................................................................8
4.服务器相关功能的实现以及代码........................................................................................................9
4.1
服务器端
........................................................................................................................................9
4.2
视频聊天
......................................................................................................................................10
4.3
客户端
................................................................................................................................. ........11
七、系统测试.......................................................................................................................23
八、心得体会.......................................................................................................................29
一、序言
网络程序设计大作业
2
互联网技术的广泛应用,对整个世界政治、经济、文化等各方面
产生了十分广泛和深远的影响。它奇迹般的崛起、爆炸般地扩容,令
全世界瞩目。如今,大大小小的网络已遍布全球,并通过 Internet 实
现了互联。据估计,Internet 的规模大约每年要翻一番,网络的应用
领域也从原来的科技和教育领域进入到文化、产业、政治、经济、新
闻、体育、娱乐、商业以及服务等行业。
二、网络聊天系统的背景
随着网络的普及,人类生活越来越依赖网络,人与人之间的交流
也越多的在网络上进行。由于交流的实时性,即时通讯系统也被越来
越多的人所使用。即时通讯系统除了普通的生活上的交流,也在商业
交流中越来越受到重视,它可以是个很好的与客户之间即时交流的平
台,在时间上它要比电子邮件更加具有实时性,而费用相对电话交流
也要经济的多。在这种环境下,聊天软件作为一种即时通讯工具,得
到了很好的发展。因此,设计开发一个可以灵活用于网站,论坛,公
司或企业内部交流的聊天工具很有必要。
三、课程设计的主要目的和内容
目的:掌握 Socket 编程中流套接字的技术,实现多台电脑之间的
聊天。
内容:本系统是基于 TCP/UDP 的网络聊天室。主要由用户登录页
面、管理员登陆页面、注册页面、取回密码页面、聊天页面、查看聊
天记录页面、管理员管理信息页面(两个页面)、 配置页面以及全局
应用程序类组成。要求实现用户登录、注册、取回密码、聊天等功能。
网络程序设计大作业
3
具有管理员功能,管理员登录后可查看用户注册信息和用户聊天记录
管理员的登录、管理用户信息等功能。管理员能够根据查询条件和查
询值查询到所要查找的聊天记录(删除时有提示框),用户聊天页面
能看到在线人数,用户可看到消息的详细信息并可随时查看聊天记录。
实现对聊天消息中敏感信息的屏蔽功能。
1.掌握利用 Socket 进行编程的技术
2..必须掌握多线程技术,保证双方可以同时发送
3.建立聊天工具
4.可以和多个人同时进行聊天
5.必须使用图形界面,显示双方的语录
四、设计环境
PC 一台,操作系统 win10(64 位)
具备软件 python3.7 、python3.8 、python3.9、Anconda3、pycharm2021
五、用户需求分析
1. 功能需求分析
� 群聊功能: 确保端口打开即可多台电脑聊天
� 私聊功能: 给指定用户发消息
� 查看在线用户功能: 可以查看当前在线用户
� 上传下载功能: 用户可以从文件服务器上传下载文件
� 发送表情和图片
� 类似 QQ 小冰的 AI 聊天机器人
o 群聊 @Robot