位置: 编程技术 - 正文

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

发布时间:2024-02-27

推荐整理分享玩转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命令是什么意思)

  • 房地产开发企业土地增值税预缴
  • 资本公积可以随时撤出来吗
  • 银行理财怎么做才能赚钱
  • 丢失增值税发票最新处理办法
  • 零息债券支付利息吗
  • 完税凭证和发票一起打印
  • 财政补贴金额
  • 小规模纳税人消费税怎么计算
  • 长期借款科目核算的是企业的长期借款本金和利息
  • 营利性养老机构需要缴纳哪些税
  • 企业长期待摊费用包括
  • 进项票不足
  • 做天猫合理避税吗
  • 电子发票如何报销做账
  • 其他综合收益影响递延所得税负债吗
  • 本期免税收入是什么
  • 空白发票丢失怎么写说明
  • 免征房产税是多少
  • 滴滴电子发票怎么填写
  • 营改增后一般纳税人税率是多少
  • 计提本月城市维护建设税,教育费附加500元
  • 深度操作系统的窗口管理器
  • 电脑不用的情况下怎么让它关闭屏幕
  • 所得税汇算清缴后如何调整报表
  • php判断链表是否有环
  • php获取用户名
  • ’sass_binary_site‘ is not a valid npm option问题的产生原因及解决办法
  • php获取ftp文件目录
  • 辅助生产成本包含哪些
  • 高手成长礼包
  • php的array函数
  • 盘亏固定资产累计折旧
  • 未缴纳社保可以直接走人吗
  • 计提坏账准备的公式
  • php实战
  • php实现5分钟倒计时
  • php语言之面向对象编程 educoder
  • 给深度学习研究生的入门建议(未完待续ing)
  • 变化检测是应用在图像的哪个运算中
  • 文本检测工具
  • 图幅翻译
  • php单例模式懒汉和饿汉
  • 新手为什么要买二手车
  • 利润表中本期金额栏各项目应根据损益类账户的什么填列
  • 非财政补助结转是什么类科目
  • 企业所得税报表怎么更正
  • 零申报季报怎么报税的具体流程
  • 小规模纳税人公转私技巧
  • 税金及附加怎么做分录
  • 费用报销单怎么填写
  • 无形资产加计扣除怎么算举例
  • 出口不报关怎么收款
  • 用友软件接口
  • 福州锦元房地产开发有限
  • 电子发票和增值税发票有什么区别
  • 职工食堂的费用,会计上怎么做账?
  • 其他债权投资的特征有哪些
  • 业务招待费可以开专票抵扣吗
  • 停产期间发生的事故
  • 股东出资转为借款
  • 生产企业原材料占产成品的比例
  • 怎样申请开发票
  • 哪些发票可以报销哪些发票不可以报销
  • 税前税后利润弥补亏损的会计分录
  • sqlserver 中文字符集
  • mysql启动服务器失败
  • Mac OS10.11下mysql5.7.12 安装配置方法图文教程
  • uefimbr安装win7
  • win10系统玩dnf闪退
  • macos 安装win7
  • windows10移动
  • Android 使用mp4做礼物特效
  • java gui开发框架
  • 批量创建用户
  • python多线程代码
  • jquery.validate[.unobtrusive]和Bootstrap实现tooltip错误提示问题分析
  • ubuntu创建虚拟网卡
  • python语句查询
  • JavaScript中void(0)的具体含义解释
  • 丰台和朝阳中间是哪里
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号