【你的第一个socket应用】Vue3+Node实现一个WebSocket即时通讯聊天室

本文通过WebSocket技术,利用Vue3和Node.js创建一个即时通讯聊天室。介绍WebSocket的基本概念,展示如何用daisyUI搭建页面,详细讲解各个组件的编写和使用,以及实现用户加入、消息发送、退出播报等功能。
摘要由CSDN通过智能技术生成

🍐 写在前面

这篇文章主要是用WebSocket技术实现一个即时通讯聊天室,首先先要了解为什么使用WebSocket而不是普通的HTTP协议,如果使用HTTP协议它是下面这种情况:

  • 我发送一条消息,发送一个发送消息的请求;* 一直轮询接收别人发送的消息,不管有没有发送都要定时去调用接口。这里明显有资源的浪费,因为我们不管有没有数据都要定时的去调用接收消息的接口。

这个就可以通过WebSocket去解决,本篇文章包括的内容如下

  • 简单说一下WebSocket* 使用daisyUI+Vue3搭建页面* socket通信demo* 实现即时通讯聊天室最终实现效果如下:

🍍 技术栈

项目的源代码在Github中,项目采用pnpm+Monorepo的方式搭建,如何搭建一个Monorepo项目可以参考从0开始使用pnpm构建一个Monorepo方式管理的demo

文本所用到的技术如下:

服务端:


WebSocket是另一种网络协议,但没有完全脱离HTTP,握手阶段采用的就是HTTP协议,这么做的好处就是不易被屏蔽,能通过各种HTTP代理服务器

WebSocket最大的特点就是服务器可以主动向客户端推送消息,当然,客户端也可以主动的向服务器发送消息。而普通的HTTP协议只能由客户端向服务器发送,服务器根据内容进行返回。

通信过程如下图:

🍎 搭建页面

首先我们使用Vue+daisyUI搭建一下静态页面。

这里静态页面用啥都能写,我图省事选择了daisyUI,想要了解可以通过我上一篇文章,简单的介绍。

🥭 组件的编写

这里我将聊天部分主要拆分3个组件,如下图所示:

这里对这几个组件的思路进行讲解,源代码可以去GitHub中获取。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值