位置: 编程技术 - 正文

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

  • 建筑公司收到预付款怎么开票
  • 政府返还土地款的会计处理
  • 小规模纳税人怎么变成一般纳税人
  • 未分配利润转增股本会计处理
  • 个人话费发票怎么入账
  • 高新技术企业认定
  • 有期末留抵税额增值税和附税还用计提和缴纳吗
  • 小规模给一般纳税人开专票能抵扣吗
  • 工业企业会计错账处理方法有哪些
  • 环保罚款计入什么会计科目
  • 提供有形动产租赁服务适用税率为13%
  • 房屋建筑物折旧率计算
  • 企业所得税佣金扣除比例
  • 延迟取得发票的原因
  • 评估价与成交价相差多少合法
  • 事业单位取暖费什么时候发
  • 出口发票税率是怎么算的
  • 公司组织员工旅游,起到的目的是什么
  • 外出拓展训练活动所花的费用怎么做分录?
  • 预存送返利的帐户怎么查
  • 劳务分包服务费率
  • 报销单大写金额填写格式1000
  • 贴现凭证的贴现银行是谁
  • 车辆完税证明怎么弄
  • 贸易企业出口退税的操作明细流程
  • 补发上月工资如何计税
  • 可转换债券赎回和回售如何理解
  • 暂估入库有时间限制吗
  • 应收冲预收是什么意思
  • vnisedit 打包
  • 超市购物卡返点一般是几个点
  • 公司付款给个人,怎么处理
  • Remoterm.exe - Remoterm是什么进程 有什么用
  • 以房产投资联营,收取固定收入,不承担联营风险的房产
  • 广告费用计入什么会计科目
  • php数组函数输出《咏雪》里有多少"片"字
  • 提取的坏账准备使用完后如何处理
  • PHP:imagecolorclosest()的用法_GD库图像处理函数
  • 佛罗里达naples
  • php利用switch语句判断学生成绩处于哪个区间
  • javascript - localStorage 本地存储(新增、删除、修改)使用教程
  • 【历史上的今天】3 月 23 日:网景创始人出生;FORMAC 语言的开发者诞生;PRMan 非商业版发布
  • phpcms怎么用
  • 预付账款的适用范围
  • csv文件导入到pycharm时报错
  • 专项附加扣除中住房租金扣除所指的工作城市范围包括
  • 缴纳以前年度房产税分录
  • mysql删除表中某个字段
  • 职工食堂费列入哪里
  • 库存商品过期了还能用吗
  • 增值税发票上注明的价款包含增值税吗
  • 营业税金及附加包括哪些
  • 出口退税 账务处理
  • 处理报废的固定资产账务处理
  • 税控系统专用设备抵减增值税账务处理
  • 报销核销
  • 其他应付款的有
  • 收到税务局退还的个税手续费怎么入账
  • 国税定额发票有什么用
  • 免除债务会计处理
  • 冲减和冲销的会计分录
  • 汇率的差额如何处理
  • 原始凭证书写要求
  • sql server中删除触发器用
  • xp系统电脑蓝屏无法正常启动怎么恢复
  • 简述linux系统有什么优点
  • ie9收藏夹
  • win10家庭版如何设置永不更新
  • windows7系统下给WORD2010设置打开密码的方法
  • 批处理bat
  • perl有什么用
  • perl do
  • css浮动和清除浮动
  • [置顶]星陨计划
  • Python安装whl文件
  • 已经开具的专用发票
  • 软件销售税率13还是6还是9
  • 贵州网上办税服务厅登录
  • 黔西南州医疗保险报销比例
  • 人社局要求社保补缴
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设