Socket.io 发送带有参数的断开事件

2023-11-21

我想使用自定义参数手动将断开连接事件发送到 socket.io 服务器。我使用这个功能但不起作用:

//client

var userId = 23;
socket.disconnect(user);

//Server

socket.on('disconnect', function (data) {
        console.log('DISCONNECT: '+  data)
    })

现在,当发送断开连接事件时,如何向服务器发送附加数据?


Socket IO 断开连接事件在内部触发,但您可以在调用该事件时发出自定义事件。

您需要首先监听断开连接事件。调用此事件后,您应该发出自己的自定义事件,比如我们称之为它myCustomEvent一旦调用此事件,您的客户就应该监听您的myCustomEvent听到它后,应该输出您传递给它的数据。例如:

io.sockets.on('connection', function (socket) {
  const _id = socket.id
  console.log('Socket Connected: ' + _id)
  // Here we emit our custom event
  socket.on('disconnect', () => {
    io.emit('myCustomEvent', {customEvent: 'Custom Message'})
    console.log('Socket disconnected: ' + _id)
  })
})

然后你的客户会听myCustomEvent like so

socket.on('myCustomEvent', (data) => {
    console.log(data)
})

我希望这有帮助 :)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Socket.io 发送带有参数的断开事件 的相关文章

  • 方法参数数组默认值[重复]

    这个问题在这里已经有答案了 在 C 中 可以在方法中使用默认参数值 例如 public void SomeMethod String someString string value Debug WriteLine someString 但现
  • 自定义 Javascript EventManager - 请帮我完成

    我正在尝试创建一个自定义 javascript EventManager 类 我采用了 Grant Skinner 在他的 essel js 框架中使用的格式来创建类 并且需要坚持使用它 在这一点上我真的迷失了 我认为 至少在概念意义上 我
  • 如何在alert()之后给予focus()?

    我有类似的东西
  • Socket.io 不断重复连接并忽略其他事件

    我正在尝试制作一个网络应用程序 用户可以在其中互相玩环形国际象棋 这是我的 app js 在服务器上 var express require express var app express var http require http Ser
  • 来自 jquery 事件的回调角度函数

    我正在使用 Angular5 并尝试获取 fullcalendar io jquery 插件的 dayClick 事件来回调角度组件 以便我可以打开从日历详细信息填充的角度组件对话框 要设置示例 请在控制台中执行以下操作 ng new pj
  • 来自链接参数的多个 $_GET

    我使用 js 将值发送到 php 文件 如下所示 validation php firstName test lastName test email test contactNumber test title test descriptio
  • 升压参数库

    最近我发现参数 http www boost org doc libs 1 50 0 libs parameter doc html index htmlBoost 中的库 老实说 我不明白为什么这是 Boost 的一部分 当需要向函数传递
  • Mac 监听事件:复制到粘贴板

    我正在阅读 NSPasteboard 然后想找到 我试图找到正确的通知方法来侦听数据复制到剪贴板的事件 我还试图找到复制到剪贴板的数据的文件路径 这将是一个粘贴板对象 如果我从浏览器中的页面复制文本 我会尝试找出如何获取复制文本的页面的 U
  • Zend url:获取参数始终保留在 url 中

    我在使用带有 get 参数的 Zend url 帮助器时遇到一些问题 在一个视图中 我有分页 它在 get 中发送额外的参数 所以在 url 中 所以没关系 但这是不行的 即使我更改页面 参数也始终保留在 url 中 事实上 zend ur
  • 在 GTK+ (gtkD) 中处理按键

    我正在玩gtkD http www dsource org projects gtkd GTK 的 D 绑定 我有一个window对象 实例gtk MainWindow 我想处理它的按键 How 如何处理特殊键 例如箭头键 pgup pgd
  • 目标操作 uicontrol 事件

    我一定在这里遗漏了一些明显的东西 但是 UIControl有一个方法 void addTarget id target action SEL action forControlEvents UIControlEvents controlEv
  • WPF MVVM 在窗口关闭时调用 ViewModel Save 方法

    我已经弄清楚如何从我的 ViewModel 关闭窗口 现在我需要从另一侧解决窗口关闭问题 当用户单击窗口的关闭按钮时 我需要在 ViewModel 中触发 Save 方法 我正在考虑将 Command 属性绑定到 Window 的关闭事件
  • 依赖注入系统中的事件朝哪个方向发展?

    上或下 我是一个非常注重视觉的人 我将我的应用程序视为一个层次结构 顶部是根 底部是叶子 我还了解到 在 DI 系统中 容器不知道其所包含对象的职责 功能 相反 所包含的对象知道它们的上下文 因为上下文 依赖项 被注入 UP 非 DI 方式
  • Android 方向传感器的替代品是什么?

    大家好 我正在为 Android 构建 3D 游戏 我目前正在尝试在我的游戏中添加一个传感器 允许玩家倾斜机器人作为其控制 理想情况下 我想使用方向传感器 但我注意到它已被弃用 有谁知道如何检测 Android 中的倾斜并且不使用这个传感器
  • 调试断言失败。表达式(流!=NULL)

    我收到以下错误 调试断言失败 表达式 流 NULL 文件 f dd vctools crty bld self x86 crt src fwrite c 创建 4 个线程时 CPU 使用率 100 该代码最初运行良好一段时间 然后给出此错误
  • 如何在 switch 语句中将向量作为参数传递

    我对问题的谷歌搜索没有返回有用的结果和文档 switch没有告诉我如何做 所以我希望我能在这里得到答案 假设我有一个向量 cases lt c one two three 我想使用 switch 语句并将这些元素作为 switch 语句的参
  • 将参数传递给基类构造函数

    如果基类和派生类都有带参数的构造函数 那么我们在哪里将参数传递给基类构造函数 像这样 public class DerivedClass BaseClass public DerivedClass int derivedParam Stri
  • 播放选定的音频,同时暂停/重置其他音频

    我有两个通过按钮的单击事件播放的音频元素 如果选择了另一个元素 我已成功地暂停其中一个元素 但还需要将暂停元素设置回 0 0 秒 即暂停和重置 我知道 Javascript 目前没有stop 导致的方法假设这将通过设置其来完成current
  • 如何处理 Tkinter 中的窗口关闭事件?

    如何在 Python Tkinter 程序中处理窗口关闭事件 用户单击 X 按钮 Tkinter 支持一种称为协议处理程序 http web archive org web 20201111215134 http effbot org tk
  • TcpClient 在异步读取期间断开连接

    我有几个关于完成 tcp 连接的问题 客户端使用 Tcp 连接到我的服务器 在接受客户端后listener BeginAcceptTcpClient ConnectionEstabilishedCallback null 我开始阅读netw

随机推荐

  • Android:折叠线性布局而不是折叠工具栏

    我正在尝试在单个片段中创建主 详细信息事务 我考虑使用 LinearLayout 作为标题的编辑文本的容器 然后是 RecyclerView 了解详细信息 如何实现类似于 CollapsingToolbar 效果的 LinearLayout
  • Kibana 报告字段存在冲突,我该如何解决?

    在 Kibana 中 我注意到在刷新索引模式后 我的一个字段显示为conflicted Example 所以我知道这是因为 Elastic Search 在该字段中发现了不同类型的值 我如何确定这一点 它导致我的视 觉效果破坏 因为它们无法
  • C# 两组排序数字最快的交集

    我正在应用程序的时间关键部分计算两组排序数字的交集 这个计算是整个应用程序的最大瓶颈 所以我需要加快它的速度 我已经尝试了很多简单的选项 目前正在使用这个 foreach var index in firstSet if secondSet
  • 如何理解 Yahoo! 的原始 HTML使用Python检索数据时的财务?

    我一直在尝试从 Yahoo 检索股票价格 金融 比如苹果公司 我的代码是这样的 使用Python 2 import requests from bs4 import BeautifulSoup as bs html http finance
  • 获取不带 Content-Disposition 的文件名

    我几天来一直在寻找这个问题的解决方案 但找不到任何解决方案 我想使用网络客户端从网络服务器下载文件 下载工作正常 但我无法获得真实的文件名 这对我来说非常重要 我在很多主页上看到 文件名应该保存在 Content Disposition H
  • Android 不使用 XML 指定像素单位(如 sp、px、dp)

    是否可以在代码中指定像素单位 我的意思是 假设我有一个布局 并且我希望大小为 20dp 那么有什么方法可以在不编写布局 xml 的情况下做到这一点 在一个视图中 DisplayMetrics metrics getContext getRe
  • 全屏视频无黑边

    我遇到的问题是 视频总是在侧面或顶部 底部出现黑条 具体取决于屏幕尺寸 知道如何让它始终全屏显示而不显示恼人的黑条吗 并且不使用插件 这是我的标记 div div class box iframe box width 1280 height
  • 使用 java 在 Selenium WebDriver 中垂直向下滚动和向上滚动

    有人可以帮我自动化吗向下滚动功能 with 网络驱动程序 using Java 就我而言 对于雅虎邮件 Sign In 正在显示 visible 一旦我垂直向下滚动鼠标 滚动到页面的某个元素 JavascriptExecutor drive
  • 通过替换求解递推式 T(n) = 2T(n/2) + θ(1)

    所以我很确定它是 O n 但也可能不是 但是如何通过替换来解决它 如果假设 T n 首先 我想清楚地假设 1 k 某个常数 接下来 继续使用替换法 我们得到 T n 2T n 2 1 2T n 2 k 2 2T n 4 k k 4T n 4
  • selenium.common.exceptions.SessionNotCreatedException:消息:无法通过 Selenium 找到与 Firefox 46 匹配的功能集

    我这里肯定有一些版本不匹配 因为我无法使用 Python 来启动 Selenium 来启动 Firefox Web 浏览器 我使用旧版本的 Firefox 因为这里的其他人都使用相同的旧版本 Python 并且对他们来说旧版本的 Firef
  • 什么是函数 __tcf_0? (使用gprof和g++时看到)

    我们使用 g 4 2 4 我试图找出代码中的一些性能问题 我正在运行 gprof 来生成配置文件 并且我得到以下 奇怪的信息 因为最昂贵的函数是 tcf 0 Each sample counts as 0 01 seconds cumula
  • 如何从 std::ifstream 将文件读入 unsigned char 数组?

    所以通常我会做这样的事情 std ifstream stream int buff length 8192 boost shared array
  • 从 json 对象创建一个强类型的 C# 对象,ID 作为名称

    我正在尝试使用一家知名在线会议提供商的 API 他们的 API 调用之一返回一个如下所示的对象 5234592 pollsAndSurveys questionsAsked 1 surveyCount 0 percentageSurveys
  • 是否可以在 lambda 闭包中隐藏变量?

    我正在尝试在 Kotlin 中创建一个类型安全的 Groovy 风格构建器 就像它所描述的那样here 问题是嵌套 lambda 中 lambda 接收器的可见性 这是一个简单的例子 html head id head1 body head
  • 如何计算 numpy 中所有向量差对?

    我知道我能做到np subtract outer x x If x有形状 n 然后我最终得到一个形状为的数组 n n 然而 我有一个x有形状 n 3 我想输出一些有形状的东西 n n 3 我该怎么做呢 或许np einsum 您可以使用br
  • 将函数应用于所有成对列组合的最快方法

    给定具有任意行数和列数的数据框或矩阵 将函数应用于所有成对列组合的最快方法是什么 例如 如果我有一个数据表 N lt 3 K lt 3 data lt data table id seq N for k in seq K data k lt
  • Sublime Text 2 新文件的默认文件类型

    我环顾四周 问题和答案似乎与我要寻找的不符 每当我打开新文件时 它都会默认为计划文本文件 我主要使用 HTML 文件 所以我想知道是否有一个设置可以更改 以便当我打开新文件时它会默认为 HTML 希望这是可能的 Rob 创建一个新插件Too
  • 数字签名后托管 Windows 服务启动缓慢

    我们最近尝试对 NET 二进制文件进行数字签名 我们有一个 Windows 服务 通常会在 10 秒内启动 然而 当我们开始对其进行数字签名后 时间增加到大约 20 30 秒 谷歌搜索给我带来了这个 http support microso
  • 角度 $q,如何在 for 循环内和之后链接多个 Promise

    我想要一个 for 循环 每次迭代都会调用异步函数 在 for 循环之后 我想执行另一个代码块 但不是在 for 循环中的所有先前调用都已解决之前执行 我目前的问题是 要么在所有异步调用完成之前执行 for 循环之后的代码块 要么根本不执行
  • Socket.io 发送带有参数的断开事件

    我想使用自定义参数手动将断开连接事件发送到 socket io 服务器 我使用这个功能但不起作用 client var userId 23 socket disconnect user Server socket on disconnect