WebSocket之socket.io的基本使用

「JavaScript深入」Socket.IO:基于 WebSocket 的实时通信库 Socket.IO 作为 WebSocket 的增强版本,在实时通信领域具有广泛的应用。它提供了事件驱动、自动回退、广播机制等功能,使其在即时聊天、协作编辑、多人游戏等场景中表现出色。如果需要低功耗 IoT 设备通信,可以考虑 MQTT;如果是高效的音视频通信,WebRTC 是更好的选择。不同的应用场景需要选择合适的实时通信技术,以保证系统的稳定性和性能。 阅读详情

 Socket.IO 是一个WebSocket库,可以在客户端和服务器之间实现低延迟、双向和基于事件的通信。它建立在 WebSocket 协议之上,并提供额外的保证,例如回退到 HTTP 长轮询或自动重新连接。

基本使用

安装socket.io

yarn add socket.io

 新建js文件与html文件内容如下

var http = require('http');
var io = require('socket.io');
var server = http.createServer((req,res)=>{
});
server.listen(2183);
// 监听 connection
io.listen(server).on('connection',(user)=>{
	setInterval(()=>{
		user.emit('test','哥们我主动来了'+Math.random());
	},1000);
});
<!doctype html> 
<html> 
<head> 
    <meta charset="utf-8">
    // 引用脚本,固定写法
    <script type="text/javascript" src='http://localhost:2183/
Socket.io 与 WebSocket 背景 工作上需要做一个实时投票系统,因此想到利用 websocket 做数据推送,而后台采用 nodejs 因为需要快速搭建完成该项工作,最终查找到 socket.io 这个 node 库。 而我开发工作一直集中在后台身份验证和前端页面的图表展示,对于 socket.io 本身没有太过关注内部实现,唯一一次关注是在 ios 4.x 系统接收不到 socket.io 的推送是查了一下,后发现 ios... 阅读详情

相关推荐

websocket与socket.io比较与分析

大家参与的项目里多少都会有web server与browser需要长连接互联的场景,当然我也是,之前没有进行太多方案的调研(比如深入理解通信协议和通用的一些解决方案),所以websocket就不假思索地直接用了,包括去年写的框架xframe里也是直接嵌入了官方websocket的library来实现的。 两周前遇到个场景,前端大佬提需求说能否支持socket.io,之前写的websocket的se...

xiaojax的博客 7866

socket.io实现websocket聊天室

现在很流行的websocket的实现socket.io同样包括客户端和服务器端两部分。它不仅简化了接口,使得操作更容易,而且对于那些不支持WebSocket的浏览器,会自动降为Ajax连接,最大限度地保证了兼容性。它的目标是统一通信机制,使得所有浏览器和移动设备都可以进行实时通信。 首先我们需要保证设备已经安装了node.js,我们后续的开发工作都在node环境中执行,如果没安装请点击这里Node...

StarFishing 3785

使用Socket.io实现网络通信(JavaScript)

Socket.io是一个基于事件驱动的实时网络通信库,它可以在客户端和服务器之间建立持久连接,使得实时数据传输变得简单而高效。本文将介绍如何使用Socket.io在JavaScript中实现网络通信,并提供相应的源代码示例。在使用Socket.io之前,我们需要在服务器端和客户端分别安装Socket.io。当启动服务器并打开客户端页面时,多个客户端之间可以实时通信,并将消息显示在消息列表中。在客户端,我们需要在HTML文件中引入Socket.io的客户端库,可以通过CDN引入,也可以将其下载到本地并引入。

ZuqCloud的博客 1569

WebSocket实时通信:Socket.io

随着Node.js Current版本24.10.0的发布(于2025年10月11日发布,由@targos等贡献)和LTS版本22.20.0 'Jod’的稳定支持,Socket.io的最新版本4.8.1(于2024年10月25日发布)继续主导实时库市场。 这个版本引入了自定义传输实现和tryAllTransports选项,提升了连接可靠性,并优化了与Node 24的兼容,如更好的异步处理。 本文将引入Socket.io,详解事件监听/发射、聊天室示例和心跳机制。我们将结合历史演进、代码示例、性能分析和202

zimin的专栏 1519

Socket.io与WebSocket技术深入解析

Socket.IO是一个用于实时、双向和基于事件的通信的JavaScript库。它允许开发者轻松地实现在Web浏览器与Web服务器之间进行实时通信。这种通信方式是全双工的,意味着服务器和客户端可以同时进行数据的发送和接收。Socket.IO特别擅长处理各种网络条件下的稳定连接,即使在网络环境不佳时也能保持连接的有效和高效。

weixin_36231030的博客 1005

FPGA实现16x16点阵汉字滚动显示:Verilog代码与Quartus仿真详解

本文详细介绍了如何使用FPGA实现16x16点阵汉字滚动显示,包括Verilog代码设计、Quartus仿真及硬件连接技巧。通过字模数据存储和扫描控制逻辑,实现汉字的动态显示效果,并提供了优化建议和常见问题解决方案,适合FPGA开发者和硬件爱好者学习参考。

weixin_29172963的博客 352

CATIA高效设计:自定义快捷键全攻略

本文详细介绍了如何在CATIA中自定义快捷键以提升设计效率。通过减少鼠标依赖、优化工作流程和减轻手腕疲劳,合理设置快捷键可显著提高建模速度。文章提供了从基础设置到高级配置的全流程指南,包括解决冲突、推荐方案及外设扩展建议,帮助用户快速掌握CATIA高效设计技巧。

weixin_42648844的博客 584

Hermes-Agent-完整指南

Hermes Agent 是由 **Nous Research** 开发的一款**自我改进型 AI Agent**,具有内置的学习闭环系统。它的核心理念是"一个与你共同成长的 Agent"。- 能够从经验中创建技能(Skill-Learning Automated),在使用过程中自我改进, 跨会话持久记忆, 深度用户建模

liu_zhiyi的博客 3037

PHP实战:5分钟搞定SM4国密加密算法集成(附完整代码)

本文详细介绍了如何在PHP项目中快速集成SM4国密加密算法,提供完整的代码实现和实际应用示例。从算法原理到核心代码解析,再到性能优化与安全实践,帮助开发者高效实现数据加密功能,满足金融、政务等领域的合规需求。

weixin_29315569的博客 354

台达PLC DIAdesigner-AX 编程实战:从安装到通信配置

本文详细介绍了台达PLC DIAdesigner-AX编程的实战操作,从软件安装、项目创建到通信配置的全流程。重点讲解了TCP/IP通信设置、库文件管理及常见错误处理,帮助工程师快速掌握台达PLC编程技巧,提升工业自动化项目的开发效率。

weixin_29215391的博客 530

156、手机摄像头模组结构拆解:从保护盖到 FPC 连接器的完整装配剖面

本文深入解析手机摄像头模组结构设计要点。作者结合项目经验,指出保护盖密封胶在低温收缩会导致边缘漏光问题,强调结构细节比算法参数更关键。文章逐层拆解模组组件:保护盖厚度需平衡抗冲击与光学性能;镜筒内镜片组装配顺序和公差控制直接影响成像质量;IR滤光片厚度公差±0.02mm会改变红外截止波长;CSP封装需注意金线加固;FPC连接器的信号完整性和机械可靠性设计。最后给出5条实用建议,包括密封胶选型、镜片对位检测等,强调模组结构设计是"一票否决制"的基础工程。(149字)

sundong_81的博客 105

【WRF模拟】土地利用类型的确定:最大覆盖法/瓦片法

土地利用类型的确定:最大覆盖法/瓦片法

WW、forever的博客 1529

Altium Designer 超详细入门教程

本文是一份Altium Designer新手入门教程,详细介绍了从软件基础到PCB制版的全流程。主要内容包括:软件界面介绍与工程创建方法;原理图设计中的元件放置、电气连线、标注添加等操作;PCB设计的布局布线、铺铜和DRC检查;Gerber和钻孔文件的导出方法。教程还提供了分类整理的实用快捷键表和新手避坑指南,强调原理图编译和DRC检查的重要性。通过本教程,新手可以快速掌握AD基本操作,完成简单电路板的设计与制版文件导出。

学习中...... 827

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

上一篇: 【高德地图WEB开发】 入门篇(地图/搜索/经纬度/缩放层级)
下一篇: 一篇文章带你彻底搞懂事件循环
琢鸣
琢鸣 新星创作者: 前端开发技术领域 新星创作者: 前端开发技术领域
博客等级 码龄7年 9626粉丝 53原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

琢鸣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值