socket.io介绍

 

1. 使用的技术

Socket.IO 是一个封装了 Websocket、基于 Node 的 JavaScript 框架,包含 client 的 JavaScript 和 server 的 Node。其屏蔽了所有底层细节,让顶层调用非常简单。

另外,Socket.IO 还有一个非常重要的好处。其不仅支持 WebSocket,还支持许多种轮询机制以及其他实时通信方式,并封装了通用的接口。这些方式包含 Adobe Flash Socket、Ajax 长轮询、Ajax multipart streaming 、持久 Iframe、JSONP 轮询等。换句话说,当 Socket.IO 检测到当前环境不支持 WebSocket 时,能够自动地选择最佳的方式来实现网络的实时通信。

2.官网

Server API | Socket.IO

3.使用方法

  • 连接方式

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

--》连接是否成功

const socket = io("http://localhost");

socket.on("connect", () => {
  console.log(socket.connected); // true
});

  •  发送消息

socket.emit("hello", { a: "b", c: [] });

socket.on("hey", (...args) => {
  // ...
});

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/187282.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring三级缓存处理循环依赖的过程

Spring三级缓存 Spring三级缓存是什么&#xff1f; 一级缓存&#xff1a;单例池。存放的是完整的Bean对象。经过完整的生命周期。二级缓存&#xff1a;存放需要提前暴露的Bean对象。也就不完整的Bean对象。需要提前暴露就是指&#xff0c;可能会被循环依赖。(这里可能需要用代…

mysql的存储过程与函数和一些操作

存储过程与函数 MySQL 中的存储过程和存储函数是一种在数据库服务器上存储复杂逻辑的方式&#xff0c;允许您封装和重用 SQL 代码。它们在管理复杂的数据库操作和提高性能方面非常有用。以下是对它们的详细介绍&#xff1a; 存储过程&#xff08;Stored Procedures&#xff0…

【迅搜05】索引配置(二)字段定义与设计

索引配置&#xff08;二&#xff09;字段定义与设计 经过上篇文章的学习&#xff0c;我们已经了解到了 XS 中的默认索引配置是在哪里&#xff0c;也了解到了配置文件如何加载以及服务端的一些简单配置。今天&#xff0c;我们要学习的重点就是剩下的内容&#xff0c;也是非常重要…

blade 项目

开发文档地址&#xff1a;Bladex微服务框架文档 (magicgeng.top) 项目官网&#xff1a; BladeX 快速开发平台,官方网站,基于SpringBoot,SpringCloud的微服务快速开发平台 技术社区&#xff1a;Blade技术社区-程序猿的技术进阶之路 (bladex.cn) 数据大屏&#xff1a;BladeX 数…

jupyter notebook 添加环境与删除环境

添加环境 一、查看conda现有的环境 打开 Anaconda Powershell Prompt 输入以下代码&#xff0c;查看全部环境&#xff1a;conda env list 可以看到如下已经配置的环境变量&#xff1a; 二、激活现有环境 在 Anaconda Powershell Prompt 继续输入&#xff0c;激活环境&#…

Python之Appium 2自动化测试(Android篇)

一、环境搭建及准备工作 1、Appium 2 环境搭建 请参考另一篇文章: Windows系统搭建Appium 2 和 Appium Inspector 环境 2、安装 Appium-Python-Client&#xff0c;版本要求3.0及以上 pip install Appium-Python-ClientVersion: 3.1.03、手机连接电脑&#xff0c;并在dos窗口…

修改git仓库地址

要修改Git仓库的远程地址&#xff0c;你可以使用以下命令&#xff1a; 查看当前的远程地址&#xff1a; git remote -v修改远程地址&#xff1a; git remote set-url origin <新的远程地址>在这个命令中&#xff0c;你需要将 <新的远程地址> 替换为你想要设置的新的…

13-Vue基础之自定义指令与插槽的使用

个人名片&#xff1a; &#x1f60a;作者简介&#xff1a;一名大二在校生 &#x1f921; 个人主页&#xff1a;坠入暮云间x &#x1f43c;座右铭&#xff1a;懒惰受到的惩罚不仅仅是自己的失败&#xff0c;还有别人的成功。 &#x1f385;**学习目标: 坚持每一次的学习打卡 文章…

[c++]——string类____详细初步了解string类的运用

在成为大人的路上喘口气. 目录 &#x1f393;标准库类型string &#x1f393;定义和初始化string对象 &#x1f4bb;string类对象的常见构造 &#x1f4bb;string类对象的不常见构造 &#x1f4bb;读写string对象 &#x1f393; string类对象的修改操作 &#x1f4…

openGauss学习笔记-135 openGauss 数据库运维-例行维护-检查openGauss健康状态

文章目录 openGauss学习笔记-135 openGauss 数据库运维-例行维护-检查openGauss健康状态135.1 检查办法135.2 操作步骤135.3 异常处理 openGauss学习笔记-135 openGauss 数据库运维-例行维护-检查openGauss健康状态 135.1 检查办法 通过openGauss提供的gs_check工具可以开展o…

.net 面试题7

1.请解释一下C#中的异常处理&#xff08;Exception Handling&#xff09;。 异常处理是一种用于处理程序运行过程中发生的异常情况的机制。C#中的异常处理主要是通过使用try-catch-finally语句块来实现。try块用于包含可能引发异常的代码&#xff0c;catch块用于处理已捕获的异…

亚马逊云科技本地系统迁移上云(自定义系统上云)

本地使用VMWare安装系统&#xff0c;例如CentOS7.X、龙蜥8.X等 云端使用AWS MGN服务进行迁移操作 作者&#xff1a;指剑 日期&#xff1a;2023-11-30 业务实现过程 1.本地系统安装(重点) 对安装系统需要额外注意磁盘分区 安装系统&#xff0c;在磁盘分区需要注意&#xff0c;…

List系列集合

List系列集合特点&#xff1a;有序&#xff0c;可重复&#xff0c;有索引 ArrayList&#xff1a;有序&#xff0c;可重复&#xff0c;有索引 LinkedList&#xff1a;有序&#xff0c;可重复&#xff0c;有索引 &#xff08;底层实现不同&#xff01;适合的场景不同&#xff01;…

19. 删除链表的倒数第 N 个结点 --力扣 --JAVA

题目 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 解题思路 删除链表的倒数第n个节点&#xff0c;需要从链表末尾开始计数&#xff1b;设立私有的全局变量用于统计&#xff1b;因为是单向链表&#xff0c;所以需要通过递归获取需要…

java实战(四):编写学生信息管理系统页面·

1.要求 编写程序 实现表格的输入和编辑功能。界面如下&#xff1a; 1、用户按插入键后&#xff0c;把学号、姓名和成绩插入到最后一行&#xff0c;序号显示当前的行号。 2、当用户选中表格的某一行时&#xff0c;按删除按钮&#xff0c;则这一行从表格中删除 3、编辑功能&am…

ClassPathXmlApplicationContex和ApplicationContext和BeanFactory的区别和联系

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、BeanFactory1.1定义&#xff1a;1.2特点&#xff1a; 二、ApplicationContext&#xff1a;2.1定义&#xff1a;2.2特点&#xff1a; 三、ClassPathXmlAppli…

OpenCV中八种不同的目标追踪算法

引言 目标跟踪作为机器学习的一个重要分支&#xff0c;加之其在日常生活、军事行动中的广泛应用&#xff0c;受到极大的关注。在AI潮流中&#xff0c;大家对于深度学习&#xff0c;目标跟踪肯定都会有过接触了解&#xff1a;在GPU上通过大量的数据集训练出自己想使用的垂直场景…

sqli-labs(9)

45. 不会显示报错信息通过or 1验证 在密码处输入)or(1 登录成功 )union select 1,2,3 # )union select 1,database(),3 # )union select 1,(select group_concat(table_name) from information_schema.tables where table_schemasecurity),3 # )union select 1,(select gro…

【echarts】图表清空,重新渲染数据

需求&#xff1a; 笔者在echarts图型中&#xff0c;随着点击不同按钮&#xff0c;echarts图型里的数值随着变化 问题 点击不同按钮&#xff0c;echarts图型里的数值进行了替换&#xff0c;奇怪的是&#xff0c;有的按钮可以&#xff0c;有的就不行&#xff08;点击按钮后&#…

学习记录PCL-1 通过哈希表进行三维点云的虚拟格网划分

直接对整个场景的点云进行特征提取&#xff0c;效果很差&#xff0c;因此通过划分区域格网进行划分。格网划分有很多种方式&#xff0c;在这里尝试使用哈希表进行格网链接&#xff0c;后续通过在每个格网内基于点云特征进行提取。 参考博客&#xff1a; 点云侠的PCL 点云分块_p…