位置: 编程技术 - 正文

玩转NODE.JS(四)-搭建简单的聊天室的代码(node.js实战)

编辑:rootadmin

推荐整理分享玩转NODE.JS(四)-搭建简单的聊天室的代码(node.js实战),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nodejs教学视频,node. js教程,node教程,node-js,node.js视频教程,node. js教程,node.js入门教程,node. js教程,内容如对您有帮助,希望把文章链接给更多的朋友!

Nodejs好久没有跟进了,最近想用它搞一个聊天室,然后便偶遇了socket.io这个东东,说是可以用它来简单的实现实时双向的基于事件的通讯机制。我便看了一些个教程使用它来搭建一个超级简单的聊天室。

初始化项目

在电脑里新建一个文件夹,叫做“chatroom”,然后使用npm进行初始化:

然后根据提示以及相关信息一步一步输入,当然也可以一路回车下去,之后会在项目里生成一个package.json文件,里面的信息如下:

这个文件描述了项目的相关信息。

安装socket.io

接下来,安装socket.io:

安装Socket.IO的时候,--save参数用于保存模块依赖信息到package.json文件,安装完后,打开package.json文件会看到里面多了一项内容:

同时Socket.IO安装在了node_modules文件夹下。

实现聊天-服务器端

首先我们来编写服务器端程序,新建文件“index.js”,在里面导入如下模块:

第一行是导入http模块,先前我们已经见过了,用于创建http server。

玩转NODE.JS(四)-搭建简单的聊天室的代码(node.js实战)

第二行是导入socket.io模块,实现实时聊天必备的,不再赘述。

第三行是导入fs模块,用于读取文件。具体的一会你就会了解到。

通过http模块创建app,在刚刚的代码中加入如下语句:

fs.readFile()方法用于读取文件,在这里读取的是index.html文件,也就是一会即将要编写的前端聊天室的展示页面。

第8行是返回请求的状态码,第9行是返回读取到的内容给浏览器。然后这个http server使用listen方法监听端口。

接下来,就是使用socket.io来实现聊天的事件了。在刚刚的index.js文件的http server下面接着创建socket.io对象。

然后监听connection事件,当浏览器连接到此Socket.IO服务时触发该事件:

第4行用于将信息输入到后台的显示器,第5行用于将内容发送给客户端,为了知道服务器是否启动,我在后面又加了如下一句:

至此,服务器端编码完成。

实现聊天-客户端

首先实现界面部分,仅仅有显示消息记录以及消息发送框,代码如下:

然后需要在里面加上JS来实现与服务器端的通信,将服务器端获取的数据展示到客户端,主要代码如下:

此时,可以执行:

然后在浏览器打开localhost:查看效果。

至此,一个简陋的聊天室就实现了,有兴趣的朋友可以在此基础上进行扩展,实现功能更为复杂的聊天室。

项目源代码:源码下载

标签: node.js实战

本文链接地址:https://www.jiuchutong.com/biancheng/374079.html 转载请保留说明!

上一篇:node+express制作爬虫教程(node做爬虫)

下一篇:NodeJS中的MongoDB快速入门详细教程(nodejs中的shell命令是什么意思)

  • 出口货物适用什么税率
  • 企业股东分红怎么交税
  • 财务软件回收
  • 付钱给对方会计分录
  • 注册资本为0的企业
  • 取用备用金要188分
  • 每月10万不要交税从什么时候开始
  • 现金盘亏无法查明原因计入什么科目
  • 银行利息怎么算?
  • 公司销售二手车账务处理
  • 城建税如何纳税申报
  • 建筑企业升资质主管单位
  • 财务人员需具备的基本素质和条件是什么
  • 2021申请一般纳税人公司的条件
  • 案例分析工程发票进项高于销项怎么抵扣?
  • 房屋抵债如何确定契税计税依据?
  • 广告费预付后收条怎么写
  • 年终奖个税公式 2022
  • 无租使用房产协议
  • 售后服务对客户满意度的影响论文
  • 6月 全新windows
  • 出口暂定关税
  • 农民工劳动报酬权救济制度存在的问题
  • 材料暂估的会计分录怎么做
  • 销售折扣收货方法有哪些
  • win10系统日志在哪个文件夹
  • php判断ua
  • 一次性支付一年租金怎么做账
  • 民间非营利组织会计制度及操作实务
  • mcshield.exe是什么进程
  • 原材料和固定资产入账价值的计算
  • 对外投资概述
  • 无形资产处置计入哪里
  • antd upload组件
  • laravel常用命令
  • 加计扣除符合的条件
  • php如何使用
  • 增值税普通发票需要交税吗
  • 蜜蜂皇vs
  • sockas
  • PyTorch 深度学习实战 | DIEN 模拟兴趣演化的序列网络
  • openprop教程
  • 增值税 附加税
  • 创立教育培训机构之前的准备工作
  • 股东投资是否有资金实际收支活动?
  • mysql5.7版本安装教程
  • 背书的银行承兑汇票怎么做账
  • 公司账户钱取出来税务局会查账吗
  • 境外运费支付属什么费用
  • 股东撤资如何退还资金,用途写什么
  • 汽车以租代购可靠吗
  • 施工图审查费属于什么费
  • 净利润增长率的影响因素
  • 发票抬头是个人税号怎么填
  • 企业的管理人员应该是互补型
  • 企业风险管理有哪些方面
  • sql语句基础题及答案
  • MySql 5.6.14 winx64配置方法(免安装版)
  • 通过T-SQL语句实现数据库备份与还原的代码
  • sql触发器使用存储过程
  • 组策略禁止打开文件对话框输入路径
  • docker安装位置
  • win7系统如何隐藏任务栏
  • ubuntu lnmp环境搭建
  • ae安装之后打开是crash
  • OS X Yosemite系统怎么制作u盘安装盘
  • win10系统附件游戏被删除
  • /proc目录造成linux根目录爆满
  • 安装音乐库
  • win安装ie8
  • jquery div innerhtml
  • promise实例方法
  • shell脚本函数及传参
  • javascript类的继承
  • NGUI之UICamera
  • unity gettype
  • 一个治疗Unity的Prefab强迫症患者的小招(Prefab变成红色的问题)
  • python append、extend与insert的区别
  • android获取手机的基本信息
  • 增值税发票税控盘开票软件怎么下载
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设