返回顶部
首页 > 资讯 > 前端开发 > 其他 >浅析node中如何优雅使用Socket.IO模块
  • 292
分享到

浅析node中如何优雅使用Socket.IO模块

Socket.IOnodejs​node 2022-11-22 23:11:57 292人浏览 八月长安
摘要

注意: 第二个参数可以传对象,因为在emit方法内部带有JSON.stringfy()方法,自动将对象转化为字符串。onSocket.on(eventName, callback):监听一个 emit 发射的事件socket.on('

注意: 第二个参数可以传对象,因为在emit方法内部带有JSON.stringfy()方法,自动将对象转化为字符串

on

Socket.on(eventName, callback)监听一个 emit 发射的事件

socket.on('aaa',(msg)=>{
	console.log(msg)
})

在这里以客户端为例,客户端监听服务端的事件aaa,随后通过回调函数的方式打印出aaa传过来的信息。


在express中引入使用

服务端

const server = require('Http').createServer(app);
const io = require('socket.io')(server);
io.on('connection', socket => {
	console.log('恭喜你连接成功!')
	socket.on("message",(msg)=>{
		console.log(msg)  //你好 后台
		//注意 : 这里的 io.emit() 是默认转发给全部客户端信息,所有客户端都可以收到
		io.emit("allMsg","广播 : 欢迎来到聊天室")
	})
});
server.listen(3000);

server当作参数传入,目的在于说明io挂载的服务依旧是基于http的。
这里的代码表示,只要连接成功,就会打印连接成功的信息!


客户端

<script src="/socket.io/socket.io.js"></script>
<script>
  const socket = io();  //默认连接服务端启动的本地端口地址
  socket.emit("message","你好 后台")
  // 监听服务端的广播事件,接收广播的消息
  socket.on("allMsg",(msg)=>{
		console.log(msg)  //广播 : 欢迎来到聊天室
  })
</script>

在客户端需要单独引用socket.io.js文件,因为socket.io不是浏览器内置模块,需要单独引用,js文件内部代码 ==> socket.io.js内部代码,将这里的代码复制到自己创建的js文件中,然后在客户端中引用。
只要在客户端中出现const socket = io(),浏览器将会直接默认连接到客户端启动的本地服务地址。


小结

socket.io这个第三方模块相对来说,书写代码的时候更加的方便与高效,在ws模块中通过switch分支来进行对不同的聊天类型进行不同的方法呈现,而在socket.io模块中仅仅通过自定义事件就可以解决这个问题,并且socket.io可以在服务器断开后,当你再次进入客户端后可以自动连接,整体的表现优于ws模块。

以上就是浅析node中如何优雅使用Socket.IO模块的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 浅析node中如何优雅使用Socket.IO模块

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

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

猜你喜欢
  • 浅析node中如何优雅使用Socket.IO模块
    注意: 第二个参数可以传对象,因为在emit方法内部带有JSON.stringfy()方法,自动将对象转化为字符串。onsocket.on(eventName, callback):监听一个 emit 发射的事件socket.on('...
    99+
    2022-11-22
    Socket.IO nodejs​ node
  • node中怎么优雅使用Socket.IO模块
    本篇内容介绍了“node中怎么优雅使用Socket.IO模块”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Socket.IO的定义Socke...
    99+
    2023-07-04
  • node.js中优雅的使用Socket.IO模块的方法
    目录前言Socket.IO的定义Socket.IO的优点node中安装Socket.IOnode中使用Socket.IOemiton在express中引入使用服务端客户端小结前言 上...
    99+
    2022-12-08
    node.js使用Socket.IO模块 node.js Socket.IO
  • node中http模块和url模块如何使用
    这篇“node中http模块和url模块如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这...
    99+
    2024-04-02
  • 如何在node的express中使用socket.io
    服务器端server.js代码 var express=require("express"); var http=require("http"); var sio=require("socket....
    99+
    2022-06-04
    如何在 node express
  • node path模块如何使用
    这篇文章主要讲解了“node path模块如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“node path模块如何使用”吧!path.resolve...
    99+
    2024-04-02
  • 浅析Node.js:DNS模块的使用
    Nodejs的DNS模块包涵有关DNS查询和操作的方法,下面介绍该模块的基本用法以及实现一个DNS查询小工具。 1.获取DNS服务器地址 使用getServers方法,该方法返回一个IP地址组成的数组,如...
    99+
    2022-06-04
    模块 Node js
  • 浅析Node中http模块怎么处理文件上传
    怎么使用Node.js的http模块处理文件上传?下面本篇文章就来看看在服务器端要如何处理前端上传的文件,希望对大家有所帮助!查看请求数据如果我们现在向服务器发送的数据如下图所示,里面包含了普通的字段信息 name 以及一个图片文件 fil...
    99+
    2023-05-14
    node HTTP模块
  • node 中如何使用Async异步处理模块
    今天就跟大家聊聊有关node 中如何使用Async异步处理模块,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Async异步处理模块!以下是小sam的...
    99+
    2024-04-02
  • Node中的url模块和querystring模块怎么使用
    这篇文章主要讲解了“Node中的url模块和querystring模块怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Node中的url模块和querystring模块怎么使用”吧!u...
    99+
    2023-07-05
  • node中的fs模块怎么使用
    本篇内容主要讲解“node中的fs模块怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“node中的fs模块怎么使用”吧! 在n...
    99+
    2024-04-02
  • nodejs中如何使用node-xlsx模块读取excel数据
    这篇文章给大家分享的是有关nodejs中如何使用node-xlsx模块读取excel数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.安装node-xlsxnode-xlsx模块 用于读取xlsx文件中的内容...
    99+
    2023-06-14
  • 浅析node中怎么使用import语法
    通过上述我们就可以知道几个使用方式:将文件后缀改为.mjs,node.js加载的时候自动会用ESM规范在项目中package.json新增配置项"type":"module",那么整个项目中的.js文...
    99+
    2023-05-14
    node nodejs​ import
  • node esmodule模式下如何调用commonjs模块
    本文小编为大家详细介绍“node esmodule模式下如何调用commonjs模块”,内容详细,步骤清晰,细节处理妥当,希望这篇“node esmodule模式下如何调用commonjs模块”文章能帮助大...
    99+
    2024-04-02
  • 浅析node Async异步处理模块用例分析及常用方法介绍
    最近在研究nodejs,令我感受比较深的是……熟悉js代码的地球人都知道,js的加载顺序很重要!很重要!!那么问题来了,在编写node的时候,会在后台去请求很多接口(我们公司是与java后台交接数据的),接...
    99+
    2022-06-04
    模块 常用 方法
  • 如何用node优雅地打印全链路日志
    目录前言一、原理和实践二、性能开销总结前言 当用户报问题:线上某个功能使用报错时,如何快速准确地定位?当某个请求接口返回数据缓慢时,如何有效地追踪优化? 一、原理和实践 众所周知,当...
    99+
    2024-04-02
  • Node中的fs文件模块和path路径模块怎么使用
    这篇“Node中的fs文件模块和path路径模块怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Node中的fs文件模...
    99+
    2023-07-04
  • 详解Java如何优雅的使用策略模式
    目录什么是策略模式策略模式结构策略模式适用场景简单示例项目实战场景用一坨坨代码实现策略模式重构代码代码实现总结最近这段时间,想给大家分享一下设计模式的一些用法以及在项目中怎么运用。 ...
    99+
    2023-02-27
    Java优雅使用策略模式 Java使用策略模式 Java策略模式
  • Python异常处理如何才能写得优雅(retrying模块)
    目录前言不负责任版本简单处理版本改进处理版本安装与使用安装使用总结前言 在写程序时,我们会经常碰到程序出现异常,这时候我们就不得不处理这些异常,以保证程序的健壮性。 处理异常的版本有...
    99+
    2024-04-02
  • node中http模块的使用及执行流程
    在node中http有什么作用 http这个模块的职责就是帮你创建编写服务器 执行流程  1. 加载http模块 const http = require('htt...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作