栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在socket.io中从客户端控制心跳超时

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在socket.io中从客户端控制心跳超时

据我所知,这里有2个重要的值:服务器每秒钟发送一次心跳到客户端

heartbeatinterval
;客户端直接响应,如果没有响应,则服务器确定客户端已死。
heartbeattimeout
自上次心跳以来,客户端等待服务器的心跳数秒(显然应高于
heartbeat interval
)。如果
heartbeattimeout
几秒钟后仍未收到来自服务器的消息,则认为服务器已死(并将根据您设置的其他选项开始断开连接/重新连接。

默认值为

heartbeat interval = 25s
heartbeat timeout = 60s
。两项都在服务器上设置,
heartbeattimeout
在连接时将其发送到客户端。

更改

heartbeat timeout
单个客户端的值很容易:

var socket = io.connect(url);socket.heartbeatTimeout = 20000; // reconnect if not received heartbeat for 20 seconds

但是,在服务器上,该

heartbeat interval
值似乎是共享对象(Manager,这是您从
var io =require("socket.io").listen(server)
调用中得到的)的一部分,这意味着无法轻松地为单个套接字更改它。

我敢肯定,通过一些socket.io黑客攻击,您应该能够实现这一目标,但是您可能会破坏该过程中的其他内容…



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/430688.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号