当前位置: 首页 > 面试题库 >

Node.js-Socket.IO 1.0-超时事件

潘翊歌
2023-03-14
问题内容

我正在使用Socket.IO(最新版本1.1.0)与Android应用(客户端)交换消息。我想设置一个超时时间(例如5秒)来检查我的客户端是否仍处于连接状态(我想处理Android应用崩溃时的情况)。此外,当此超时发生时,我想生成一个事件。我想做的事情看起来像这样:

1 /设置超时

var socket = require('socket.io')({
   //options go here
  'timeout': 5000 //set the timeout to 5s
});

2 /处理超时事件:

socket.on('timeout', function(){
   //my treatment
});

但是我找不到任何实现超时的实现。

谢谢你的帮助 !


问题答案:

这不是超时设置所处理的。超时是指服务器断开连接之前等待重新连接的时间。您可能不想将其设置得太短。甚至可以将其保留为默认值。

默认情况下,Socketio自动发送心跳。实际上,您只需要分配一个功能即可在服务器端收到“断开连接”消息时运行。

io.on('connection', function(socket){
       console.log('a user connected');
       socket.on('disconnect', function(){
           console.log('user disconnected');
       });
});


 类似资料:
  • 本文向大家介绍node.js超时timeout详解,包括了node.js超时timeout详解的使用技巧和注意事项,需要的朋友参考一下 如果在指定的时间内服务器没有做出响应(可能是网络间连接出现问题,也可能是因为服务器故障或网络防火墙阻止了客户端与服务器的连接),则响应超时,同时触发http.ServerResponse对象的timeout事件. response.setTimeout(time,

  • 我有一个应用程序,它使用spring 4 . 0 . 1 JPA hiba Nate 4 . 2 . 8(spring的JpaTransactionManager,localcontainereentitymanagerfactorybean,带有HibernateJpaDialect和apache的BasicDataSource作为数据源)进行数据库访问。在某个时刻,应用程序开始一个长时间运行的

  • 问题内容: 这是node.js中的典型情况: 当完成,被调用。我看到的这种模式的问题是,如果 永远不会 完成(并且没有内置的超时系统),那么就永远不会被调用。更糟糕的是,似乎无法确定永远不会返回。 我想实现一个“超时”,如果没有在1秒钟之内调用它,那么将自动以错误提示进行调用。这样做的标准方法是什么? 问题答案: 我不熟悉执行此操作的任何库,但连接起来并不难。

  • 我在用轴突事件跟踪处理器。有时事件需要10秒才能处理。 这似乎导致消息再次被处理,并出现在日志“释放令牌X/0的声明失败。它由另一个节点拥有”中。 如果我增加段数,它不会记录此事件,但事件仍被处理两次,所以我认为这可能会引起误解。 (我想我搞错了) 我已经尝试调整fetchDelay、cleanupDelay和TokenClaimInterval。没有一个解决了这个问题。我是不是缺了什么东西? 编

  • 从插座上看。io网站 从1.0开始,可以来回发送任何Blob:图像、音频、视频。 我现在想知道,这是否能解决我最近想要实现的目标。 我其实是在寻找一种方法,如何直播音频流从(A-即,麦克风输入...)到所有客户连接到我的网站。像这样的事情可能吗?我一直在摆弄WebRTC(https://www.webrtc-experiment.com/)示例,但我无法为几个连接的客户端管理目标。 我的想法是关于

  • 主要内容:事件驱动程序,实例,Node 应用程序是如何工作的?Node.js 是单进程单线程应用程序,但是因为 V8 引擎提供的异步执行回调接口,通过这些接口可以处理大量的并发,所以性能非常高。 Node.js 几乎每一个 API 都是支持回调函数的。 Node.js 基本上所有的事件机制都是用设计模式中观察者模式实现。 Node.js 单线程类似进入一个while(true)的事件循环,直到没有事件观察者退出,每个异步事件都生成一个事件观察者,如果有事件发