返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue socket.io模块实现聊天室流程详解
  • 328
分享到

Vue socket.io模块实现聊天室流程详解

Vue socket.io实现聊天室Vue聊天室Vue socket.io 2022-12-30 12:12:07 328人浏览 泡泡鱼
摘要

目录1.定义2.特点3.实例1.定义 Socket.io是一个可以在客户端和服务器之间实现 低延迟, 双向 和 基于事件的 通信的库。它建立在websocket之上,且当浏览器不支持

1.定义

Socket.io是一个可以在客户端和服务器之间实现 低延迟, 双向 和 基于事件的 通信的库。它建立在websocket之上,且当浏览器不支持WEBsocket时会自动切换为Http长轮询或自动重新连接。

ps.虽然socket.io可能使用websocket进行传输,但是由于它为每个数据包添加了额外的元数据,所以websocket客户端无法连接socket.io客户端,而socket.io客户端同样也无法连接websocket客户端。

2.特点

(1)HTTP长轮询回退

​ 若无法建立Websocket连接,将自动回退为HTTP长轮询

(2)自动重新连接

​ 在某些情况下,服务器和客户端之间的websocket连接可能会中断,且连接双方可能都不知道链接断开的状态。而socket.io包含一个心跳机制来定期检测客户端的连接状态。当客户端最终断开连接,它会以指数回退延迟自动重新连接,以免服务器不堪重负。

(3)数据包缓冲

​ 当客户端断开连接时,数据包会自动缓冲,并在重新连接时发送

(4)广播/单播

​ socket.io提供了可以方便的对消息进行广播和单播的api

(5)多路复用

​ 可以通过单条共享连接拆分应用程序的逻辑,实际应用上可以理解为聊天室里的房间

3.实例

(1)安装

npm install socket.io

(2)初始化

服务器端:

const { Server } = require("socket.io");
const io = new Server(3000, {  });
io.on("connection", (socket) => {
  // ...
});

客户端:

<script src="/socket.io/socket.io.js"></script>
<script>
  const socket = io();
</script>

(3)发送消息

服务器端:

io.on("connection", (socket) => {
  socket.on("send_msg",(data)){
      console.log(data);
      io.emit("send_msg",data); //群发消息
      socket.emit("send_msg",data); //私发消息
  }
});

客户端:

<script>
  const socket = io();
  socket.emit("send_msg","你好");
  socket.on("send_msg",(msg)=> {
      console.log(msg);
  })
</script>

​ 通过上述代码就可以实现一个基本聊天室的雏形了,总体操作实现起来非常简单。

到此这篇关于Vue socket.io模块实现聊天室流程详解的文章就介绍到这了,更多相关Vue socket.io实现聊天室内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Vue socket.io模块实现聊天室流程详解

本文链接: https://lsjlt.com/news/176280.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Vue socket.io模块实现聊天室流程详解
    目录1.定义2.特点3.实例1.定义 socket.io是一个可以在客户端和服务器之间实现 低延迟, 双向 和 基于事件的 通信的库。它建立在websocket之上,且当浏览器不支持...
    99+
    2022-12-30
    Vue socket.io实现聊天室 Vue聊天室 Vue socket.io
  • 如何使用socket.io实现聊天室
    这篇文章主要为大家展示了“如何使用socket.io实现聊天室”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用socket.io实现聊天室”这篇文章吧。1...
    99+
    2024-04-02
  • Node.js websocket使用socket.io库实现实时聊天室
    认识websocket WebSocket protocol 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duple)。一开始的握手需要借助HTTP请求完成。 其实websocke...
    99+
    2022-06-04
    实时 聊天室 js
  • SpringBoot整合WebSocket实现聊天室流程全解
    目录什么是WebSocket WebSocket通信模型为什么需要WebSocketWebsocket与http的关系SpringBoot集成WebSocket什么是Web...
    99+
    2023-01-04
    SpringBoot整合WebSocket实现聊天室 SpringBoot WebSocket聊天室
  • 基于Nodejs利用socket.io实现多人聊天室
    socket.io简介 在Html5中存在着这样的一个新特性,引入了websocket,关于websocket的内部实现原理可以看这篇文章,这篇文章讲述了websocket无到有,根据协议,分析数据帧的头,...
    99+
    2022-06-04
    聊天室 Nodejs socket
  • Java实现一个简易聊天室流程
    目录文件传输Tcp方式Udp 方式简易聊天室的实现接收端发送端启动说到网络,相信大家都对TCP、UDP和HTTP协议这些都不是很陌生,学习这部分应该先对端口、Ip地址这些基础知识有一...
    99+
    2022-11-13
    Java聊天室 Java简易聊天室
  • Java Socket模拟实现聊天室
    使用Java Socket模拟实现了一个聊天室,实现了基本的私聊以及群聊。分为服务器端和客户端,下面我来介绍一下实现的步骤。 服务器端 服务器端是聊天室的核心所在,主要用来处理客户端...
    99+
    2024-04-02
  • Node.js websocket如何使用socket.io库实现实时聊天室
    这篇文章主要介绍Node.js websocket如何使用socket.io库实现实时聊天室,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!认识websocketWebSocket p...
    99+
    2024-04-02
  • Java实现多线程聊天室
    本文实例为大家分享了Java实现多线程聊天室的具体代码,供大家参考,具体内容如下 之前呢已经用单线程的方式来实现了聊天室,但其实它的功能并不齐全,下面用多线程来实现,功能会比单线程聊...
    99+
    2024-04-02
  • Java实现单线程聊天室
    本文实例为大家分享了Java实现单线程聊天室的具体代码,供大家参考,具体内容如下 一. Socket API简介 1. Socket编程 Java.net.Socket类代表一个套接...
    99+
    2024-04-02
  • 如何实现linux聊天室程序
    这篇文章主要讲解了“如何实现linux聊天室程序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何实现linux聊天室程序”吧!代码一:#ifndef&nb...
    99+
    2024-04-02
  • python实现AI聊天机器人详解流程
    前言 开始几天,我是使用很原始的方法,自己去获取天气预报截图,再手动发送给小姐姐。连续几天之后我一想:不对呀,我怎么说也是一个程序猿,怎么能用这么 low 的方式呢。 联想起之前看到...
    99+
    2024-04-02
  • Java NIO怎么实现聊天室程序
    本文小编为大家详细介绍“Java NIO怎么实现聊天室程序”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java NIO怎么实现聊天室程序”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。服务端:package&n...
    99+
    2023-06-17
  • Javasocket通信模拟QQ实现多人聊天室
    目录一、socket通信基本原理二、用socket制作一个多人聊天室三、实现效果四、总结一、socket通信基本原理 socket 通信是基于TCP/IP ⽹络层上的⼀种传送⽅式,我...
    99+
    2024-04-02
  • Node.js利用Net模块实现多人命令行聊天室的方法
    这篇文章介绍的是Node.js利用Net模块实现命令行式的多人聊天室,下面话不多说,来看看详细的介绍吧。 1、net模块基本API 要使用Node.js的net模块实现一个命令行聊天室,就必须先了解NET...
    99+
    2022-06-04
    人命 模块 聊天室
  • 微信小程序实现聊天室功能
    本文通过实例为大家分享了微信小程序实现聊天室的具体代码,供大家参考,具体内容如下 1.实现效果展示 2.room.wxml <view class="container"...
    99+
    2024-04-02
  • 微信小程序实现简单聊天室
    本文实例为大家分享了微信小程序实现简单聊天室的具体代码,供大家参考,具体内容如下 cha.js // pages/chat/chat.js // 获取小程序实例 let app ...
    99+
    2024-04-02
  • C++ select模型简单聊天室的实现示例
    TIPS:以下使用CMake项目进行开发。关于何为CMake,链接:https://www.jb51.net/article/247089.htm 简单聊天室效果展示 简单聊天室服...
    99+
    2024-04-02
  • 微信小程序中如何实现聊天室
    小编给大家分享一下微信小程序中如何实现聊天室,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!微信小程序中如何实现聊天室utils文...
    99+
    2024-04-02
  • Java多线程局域网聊天室的实现
    目录1.TCP2.套接字3.C/S架构4.多线程5.服务器客户端局域网聊天室 在学习了一个学期的java以后,觉得java真是博大精深,彻底放弃了因为c++而轻视java的心态,搞了...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作