位置: 编程技术 - 正文

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

  • 销售部门使用的管理设备计提的折旧应计入的账户为
  • 企业生产经营管理包括哪些
  • 个人所得税申报退税的条件
  • 公司费用票
  • 买手机手续费怎么算
  • 减免税额和抵免税额在什么时候扣除
  • 小微企业一般要交什么费用2019
  • 金税盘清卡怎么统计税额
  • 个人承包工程如何避税
  • 会计准则哪些科目变化最大
  • 共用的水电费支出怎么算
  • 转让房地产未完工项目增值税发票如何处理?
  • 小规模纳税人帮别人报关
  • 其他货币资金贷方是增加还是减少
  • 企业支付个人借款利息要扣个税吗
  • 现房销售土增税怎么缴纳
  • 只有利息费用的财务费用如何结转?
  • 公司注销留抵税金能退税吗
  • 收到联营单位投入的设备一台
  • 发行股票所支付的手续费计入
  • 印花税必须每个月零申报吗
  • 工程预付款需要监理审批吗
  • 预付款增加说明什么
  • 从租计征的税率
  • 代订住宿费可以开专票吗
  • mac显示器颜色不正常
  • 职工福利费和职工薪酬的区别
  • 中国石化开的增值税票是几个点的
  • 生育津贴的相关法律规定
  • 在途物资退货会退款吗
  • 利息收入的含义
  • 房地产企业利润
  • 后端怎么把图片传给前端的
  • 哈特谢普苏特女王享殿
  • 合同权益转让 范本
  • php超时限制
  • php实现的加密解决方案
  • 挂靠的项目怎么做账
  • 微擎框架可以干什么
  • 收到承兑汇票怎么操作
  • 上市公司发行股票会计分录
  • 每年结息一次,到期一次还本是单利
  • 限定性净资产是指什么
  • 企业向个人借款利息如何缴纳增值税
  • 应收账款的账龄怎么分析
  • 无偿借贷什么意思
  • 其他应收款账务核销后放在哪个科目里
  • 我国耕地占用税使用的税率为
  • 派发股利政策
  • 公司一般户的钱怎么拿出来
  • 采用公允价值模式计量的投资性房地产不需要计提折旧
  • 采购家具分批结算方式
  • 民间非盈利组织使用什么会计准则
  • 存货账面价值的确定
  • 银行回单模板
  • 股东可用什么方式出资
  • 购买汽车时的保险是什么
  • 无形资产出资入股的会计处理
  • 培训奖励怎么写
  • 会计去企业还是国企好
  • 被遗忘的战役
  • win8.1 开始
  • os x10.11el capitan公测版下载地址(公测版计划注册教程)
  • win8屏幕键盘快捷键
  • mac的替换在哪里
  • 只需2招 让Win10运行速度更加迅速
  • pax是什么文件
  • win8 metro界面
  • WIN10系统怎么改成泰语
  • win10mobile更新出错
  • 批处理怎么用
  • Python+Wordpress制作小说站
  • unity3d需要什么语言
  • 简易最新版本
  • js实现右键菜单
  • js如何使用
  • JavaScript中的数据类型
  • 国家税务局2017年11号
  • 纳税人总机构和分机构不在同一县怎么办
  • 滞留票税务局会罚款多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设