位置: 编程技术 - 正文

玩转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命令是什么意思)

  • 小规模修理修配的税率是多少
  • 当月出口的货物,可以过几个月申报吗
  • 工程 开办费
  • 农民合作社交哪些税
  • 融资租赁可以确认为资产吗
  • 收到境外汇款怎么处理
  • 业务招待费超支原因怎么写
  • 在建工程转固定资产凭证附件
  • 未开票收入已报税怎么办
  • 电商刷单返现如何做账务处理合适?
  • 应付股利科目设置
  • 净值的公式
  • 总公司委托分公司开票的委托书
  • 5.0车船税和交强险一年多少钱
  • 金蝶报告
  • 增值税电子缴款凭证在哪里打印
  • 电脑开机后一直滴滴
  • 一刀999是什么游戏
  • 今年利润弥补以后怎么算
  • 广告性质的赞助支出可以在企业所得税前扣除吗
  • 往来款怎么查
  • 获取vue实例
  • 存货损失的账务处理
  • 独立费用包括
  • 资产减值会计处理论文
  • 外商投资企业如何定性
  • 油卡预付卡发票能入费用吗怎么入账
  • 基于深度学习的图像超分辨率——综述
  • php注册和登录界面
  • 小微企业会计制度是什么
  • etc电子发票需要多久才能开
  • 公司帮非公司员工缴税
  • java中同步有两种方法
  • sql server 2008r
  • access使用查询向导固定常数
  • 税务新法规
  • 内帐税金会计分录
  • 民非企业是否可以做酒
  • 普通发票验旧后怎么作废
  • sql server2005查询
  • mysql数据库命名 可以用-吗
  • 消费税和资源税何时计入成本,何时计入费用
  • 生产成本怎么结账
  • 小规模纳税人场地租赁发票税率是多少
  • 个人所得税的计算标准
  • 管理费用是怎么计算的
  • 水泥建材销售公司有哪些
  • 房产交易缴税
  • 收到电费发票做账怎么做
  • 金蝶旗舰版的数据怎么在标准版打开
  • 小规模转一般纳税人进项票如何处理
  • 行政事业单位计提工资怎么做账
  • 客户收到产品后应该说什么
  • 税收会计记账方法
  • win mysql
  • mysql怎么取消密码
  • 看linux系统
  • win7修改系统版本
  • centos vncviewer
  • redhat配置
  • win7安装程序遇到错误0xc0000135
  • win8系统打开软件闪退
  • vmware tools安装包在哪
  • linux w
  • 微软警告:64位Win7系统或无法安装KB3033929补丁更新
  • linux系统变卡慢了
  • windows8_os
  • windows10预览版是什么
  • perl数组求和
  • nodejs获取post数据
  • android中的布局分为6种,分别是
  • 用javascript
  • android sdkmanager
  • javascript产生随机整数随机性强
  • androidstudio快捷生成代码
  • 电子发票提取网站
  • 四川医保增员网上怎么操作流程图
  • 税务ukey版商品编码怎么添加
  • 公司地税申报
  • 过了征期更正申报进项税可以多认证嘛
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设