- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
结合实例浅析Node.js的聊天室系统
摘 要
JavaScript自2009年诞生以来,一直是前端工程师的专利,其前景获得了技术社区的肯定。JavaScript以独特的事件驱动、异步编程等特性被授予“为网络服务而设计”的美誉。本文基于Node.js 的事件驱动及异步编程原理,就一个基于多人连接事件的聊天室的实例结合HTML5中WebSocket技术来展示JavaScript技术在后端服务器领域的前景。
关键词: JavaScript 服务器编程 Node.js 异步编程 WebSocket
网络聊天室是一个应用广泛、并且实用性强的应用,虽然它的功能简单,但是基于B\S架构的这个应用可以在开发过程中充分学习并应用网络服务器端开发的知识,如:Web各界面使用的Web前端技术,实现网络功能的Socket、Socket Server 技术,实现数据保存的数据连接和操作技术,并且在开发中能够充分的使用和体会JavaScript事件驱动、异步编程的语言特性。
一、JavaScript的特点
JavaScript是一种脚本语言。不需要先编译,而是在程序运行过程中被逐行地解释。它与HTML标识结合在一起,从而方便用户的使用操作。
JavaScript是一种基于对象的语言。这意味着它能运用自己已经创建的对象。因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。
JavaScript的简单性主要体现在:它是一种基于Java基本语句和控制流之上的简单而紧凑的设计, 从而对于学习Java是一种非常好的过渡。其次它的变量类型是采用弱类型,并未使用严格的数据类型。
JavaScript是一种安全性语言。它不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失。
JavaScript是动态的。它可以直接对用户或客户输入做出响应,无须经过Web服务程序。
JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可正确执行。从而实现了“编写一次,走遍天下”的梦想。
Node.js 原理也是很简单,就是用Node实现了Websocket draft-76的协议,同时他对外提供了API,可以方便其他应用程序简化编程。它继承了node的HTTP.Server的事件和方法,简化了服务端的编程,同时可以处理HTTP的请求。
二、系统结构概述
和许多大型的网络聊天室相比小聊天室比较简单,但能实现聊天的基本功能,点对多聊天,点对点聊天等,基于时间和技术的原因,很遗憾传送文件的功能尚未实现。本聊天室主要由注册界面、登录界面、聊天室界面、私聊界面、查看聊天内容界面、功能设置界面等构成。整个设计简洁明了、实用,使用简单。
图2-1 客户端结构图
图2-2 服务器结构图
三、功能设计
1、 用户登入
用户进入登入界面,填写登入用户名和密码实现系统的登入
登入信息不合法
登入信息合法
图3-1 登录活动图
2、公聊
用户登入成功后进入公聊界面,通过输入聊天内容实现和其他的用户聊天,并可以显示其他用户发送的公聊信息。
格式有错
格式正确
图3-2 公聊活动图
3 私聊
用户通过选择在线用户列表的其他用户,通过单击列表中的用户名显示与其私聊的对话框,实现和选中的用户进行私聊方式进行交流,其他用户不可见。
格式有误
格式正确
图3-3 私聊流程图
4、记录保存
用户在公聊和私聊的过程的同时,将显示在信息窗体中的聊天内容保存到本地文件中,用户可以通过单击查看记录按钮查看历史聊天内容,并可以在本地机器下次登入后,查看历史聊天的记录。
单击 保存
信息
读取
图3-4 记录保存活动图
5、系统消息
用户管理员通过启动服务器后,可以通过服务器操作界面象全部在线的用户发送系统消息,用于发送公告,提示等系统消息,可以方便管理员和客户的交流和管理。
启 动
发送系统消息
消息内容有误
正确
图3-5 系统消息活动图
四、详细设计
本系统
您可能关注的文档
- SWD协议的研究和ARM程序下载器的设计.pdf
- 探索中学数学高效课堂及有效教学模式的研究.doc
- oracle查询3种方法.doc
- 肠道菌群及肠易激综合征关系的研究进展.doc
- 一节握手游戏课反思 曹瑞霞.doc
- FX2系列PLC的滤波与刷新时间调整.doc
- 软件工程模拟试卷与答案3.doc
- C语言期末测试试题和答案.doc
- 黑马程序员:必看文章:十四个方法告诉你怎样实现PHP性能全面优化.doc
- 集装箱运输及多式联运第三次作业.doc
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
文档评论(0)