位置: 编程技术 - 正文

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

  • 小规模纳税人发票可以抵扣吗
  • 税金及附加属于管理费用吗
  • 税法规定固定资产最低价格
  • 受让应收账款的账务处理
  • 企业所得税弥补亏损明细表怎么填写
  • 业务往来中接受礼品道德吗
  • 预提费用在资产负债表里写在哪
  • 报税利润表的第二季度本期金额本年累计金额是什么
  • 餐饮通用机打发票可以报销吗
  • 外资企业订单外放,员工待岗合法吗
  • 怎么认证财付通
  • 借入款项的来源包括哪三个
  • 现金出资可以吗
  • 增值税税率零税率
  • 工资3500该不该辞职
  • 进项税额转出年末要结转吗
  • 纳税信用a级纳税人激励措施
  • 金税盘开票出现离线发票金额超出限制怎么设置?
  • 对公账户管理费怎么收
  • 公司名下商品房交易开具发票
  • 交通补贴和通讯补贴标准
  • 2019附加税优惠政策
  • Proxy error: Could not proxy request 解决方法
  • window1020h2更新问题
  • 教你怎么制作微信表情
  • 多结转成本会导致什么
  • 年度企业所得税申报表在哪里打印
  • linux 定时删除文件
  • 年终奖发放问题
  • 持有至到期减值准备是什么科目
  • 研发支出属于哪个表
  • 微信php源码
  • 模拟电子技术基础知识点总结
  • vue computed set get
  • 与http缓存有关的header
  • 现代服务包括哪些税目
  • python中如何读取列表中的指定
  • 个税多计提了账务处理
  • 餐饮行业的增值税
  • phpcms建站流程
  • 可视化调参
  • 超过认证期限的发票未抵扣能红冲吗
  • 在mysql中子查询是
  • 收到的销项负数发票如何申报
  • 高温费收税吗
  • 母公司与子公司的区别
  • 建筑企业异地施工预缴企业所得税
  • sqlserversa用户登录失败
  • 专票金额高于实收金额
  • 原材料的帐务处理
  • 企业所得税税前扣除项目有哪些
  • 超市出租摊位交什么税
  • 红字发票销项税额账务处理
  • 运输公司车辆保养记录表格
  • 单位给食堂的补贴怎么算
  • 违约金罚款计入什么科目
  • 托管服务费开什么发票
  • 公司初建账都有什么账
  • 费用分摊的分录
  • mysqli查询
  • mysql join 慢
  • linux安装rpm软件包的命令
  • tcpip. sys
  • centos怎么配置dns
  • RunClubSanDisk.exe是什么程序? 闪迪U盘广告推介程序
  • win7安装程序遇到错误0xc0000135
  • 电脑无法使用qq
  • win7无法远程桌面win10
  • nodejsweb框架
  • 经过整理的一些成语
  • accessviolation怎么解决
  • Jquery EasyUI Datagrid右键菜单实现方法
  • 酷狗app去广告
  • jquery使用css
  • Android IntentService解析
  • Android之Service
  • 重庆电子税务局官网登录入口
  • 增值税税控开票软件升级
  • 内蒙古城镇土地使用税税率表
  • 湖北省税务局网站授权
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设