基于nodejs的 络聊天室实现

一、实验选题
1.1选题背景及意义
本次课程设计选题为 :仿QQWeb即时聊天系统。

       由于WEB的易用性、实用性,它很快占据了主导地位,目前成为使用最广泛、最有前途、最具魅力的信息传播技术。本次实验就就基于web技术对 交 站开发的初步探索。实验过程,加深对已学的知识,复习和巩固计算机软件设计知识,加深对软件设计方法、软件设计技术和设计思想的理解,如java语言,数据库mysql,web前端技术的实践,掌握软件设计的方法和面向对象程序设计的基本技术,同时自学websocke这一新的技术,提高在软件开发方面的综合应用能力。实验是小组合作,对未来的职业有了小小的体验,对合作交流有了更深的理解,在 上得到了更多不同解决问题的方法和思路。

1.2实验内容
本次课程设计内容为仿QQWeb即时聊天系统。
具体要求是:
? 实现Web的点对点即时的文本消息聊天功能。
? 实现Web的表情的发送、接收和显示功能。
? 实现Web的图片的发送、接收和显示功能。
? 实现本地消息的存储,在离线的时候也能加载和查看历史消息;
? 要求使用WebSocket;

具体工作:
A. 分小组选课题;
B. 注册码云,小组成员加入,在实验的过程中更新码云,上传实验进度;
C.小组成员分析实验内容,搭建好环境,并分任务;
D.成员各自完成自己任务,相互沟通,逐步完成项目需求;

1.3相关技术及工具
开发工具:MyEclipse,eclipse,vscode,gitbash,gitee
数据库设计与创建:MySQL,mysqlyog
服务器:(Web)Socket协议
框架:nodejs下的express和socket.io

二、实验目的
       综合实践能力创新实训(1)课程设计是计算机、 络、物联 、软件工程、信息安全等专业的一个综合性实践教学环节,是学习完《Internet与Web编程》课程后进行的一次全面的综合练习。其目的在于促进学生复习和巩固计算机软件设计知识,加深对软件设计方法、软件设计技术和设计思想的理解,并能运用所学软件设计知识和WEB工程技术进行综合软件设计,通过本课程设计让学生进行简单WEB应用软件系统的开发,掌握软件设计的方法和面向对象程序设计的基本技术,提高学生在软件开发方面的综合应用能力。

三、总体设计(含背景知识或基本原理与算法、或模块介绍、设
计步骤等)

3.1需求概述
1)客户端:提供登录、注册、主窗体及聊天等界面及对应的业务逻辑,向服务器发送相应的服务请求,并接受相应的处理结果。具体的处理交给服务器,而客户端只接收服务器处理的结果并显示给用户。
2)服务器:监控登录信息及在线用户信息,接收客户端的服务请求,并做相应的处理,然后将处理结果发送给客户端。服务器负责负责连接数据库,保存和读取数据。
3.2系统业务流程分析

3.2系统架构设计

(2)物理结构设计
表结构设计
表1 message

4.2系统子模块流程设计

(1) 子模块功能及流程

图2 注册界面

图4 进入聊天室

图6 点对点即时的文本消息聊天功能

(二)测试结果分析:
       本次实验测试能够大致达到选题要求,文字、图片、表情都能够正常接收发送。唯一美中不足的是私聊功能因进度和学习程度问题而未实现。
       此次选题难度较大,websocket技术之前没有接触过,nodejs也比js要更生疏。但是这也是一个优势,相对其他同学的选题该题较为新颖,做完后不仅熟悉了socket通信协议,而且能够理解相较于http ajax轮询技术,socket技术在实时通信中的巨大优势,而且收获更多新知识。

文章知识点与官方知识档案匹配,可进一步学习相关知识 络技能树跨区域 络的通信学习 络层的作用22699 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年5月19日
下一篇 2021年5月19日

相关推荐