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

使用socketio心跳的优点/缺点

翟棋
2023-03-14
问题内容

Socket.io允许您使用脉动信号“检查Socket.IO连接的运行状况”。心跳到底是什么?为什么我不应该使用它们?


问题答案:

心跳是一种小消息,它定期从客户端发送到服务器(或从服务器发送到客户端再返回到服务器),以确认客户端仍在活动中。

例如,如果您有一个为聊天室提供服务的Node.js应用程序,并且用户长时间没有说话,则无法判断他们是否仍然保持联系。通过以预定的时间间隔(例如,每15秒)发送一次声音,客户端将通知服务器它仍在那儿。如果距服务器从客户端发出心跳已过去20秒,则可能已断开连接。

这是必需的,因为不能保证通过TCP进行的干净连接终止-如果客户端崩溃或发生其他情况,您将不会从客户端收到终止数据包,并且服务器将不知道客户端已断开连接。此外,Socket.IO支持各种其他机制(TCP套接字除外)来传输数据,在这种情况下,客户端不会(或无法)向服务器发送终止消息。

默认情况下,Socket.IO客户端将每15秒( 心跳间隔 )向服务器发送一个心跳,如果服务器在20秒内未从客户端听到任何消息( 心跳超时
),它将认为客户端已断开连接。

我想不出您可能不想使用心跳的许多平均用例。



 类似资料:
  • 问题内容: 我只是想知道什么是使用的优点和缺点,我们通常使用或但它会有所作为,如果我们使用?使用或任何其他打印语句是否有特定的缺点或优点? 谢谢。 编辑:是的,我确实知道printf和println之间的区别。 问题答案: Printf允许特殊格式: http://java.sun.com/developer/technicalArticles/Programming/sprintf/ 那是优势。

  • 问题内容: 关门了 。这个问题是基于观点的。它当前不接受答案。 想要改善这个问题吗? 更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3年前关闭。 改善这个问题 正如我在标题中提到的,我很想知道您(作为经验丰富的开发人员)对DAO模式的使用有何看法,特别是在Web应用程序中。您发现了哪些优势,而又讨厌使用它的后果? 问题答案: 我所见过的DAO的问题在于,它们通常一直都在处理完整的对象。这会

  • 问题内容: 我正在寻找提高某些SQL性能的方法,当前CTE正在脚本中多次使用和引用。我会使用表变量来获得改进吗?(因为代码在函数内,所以不能使用临时表)。 问题答案: 您实际上必须进行性能测试-没有“是/否”答案。根据安迪·利文(Andy Living)上面链接到的文章,CTE只是查询或子查询的简写。 如果您在同一函数中两次或多次调用它,则填充表变量然后加入该表变量或从中选择表变量可能会获得更好的

  • 主要内容:1) 大量的可用软件及免费软件,2) 良好的可移植性及灵活性,3) 优良的稳定性和安全性,4) 支持几乎所有的网络协议及开发语言前面章节提到,相比 Windows 系统,Linux 系统有更好的稳定性,那么除此之外,Linux 系统还有那些优点(或者不足)呢?本节带领大家详细了解一下。 1) 大量的可用软件及免费软件 Linux 系统上有着大量的可用软件,且绝大多数是免费的,比如声名赫赫的 Apache、Samba、 PHP、 MySQL 等,构建成本低廉,是 Linux 被众多企业青

  • 希望这个问题证明是有建设性的,不会让我生气(“你试过谷歌吗?”)。我正慢慢地从java新手状态中爬出来,目前面临着一个需要做出的决定,即我需要为涉及测试RESTful服务的工作构建一个项目。我们有一个使用HTTPClient的内部java框架设置。然而,我读到了一些建议,其中指出,当您处理RESTful服务时,最好使用特定于REST的工具,比如Jersey。这里的一位开发人员建议我使用RestTe

  • 本文向大家介绍object-c 的优缺点 ?相关面试题,主要包含被问及object-c 的优缺点 ?时的应答技巧和注意事项,需要的朋友参考一下 objc优点: 1) Cateogies 2) Posing 3) 动态识别 4) 指标计算 5)弹性讯息传递 6) 不是一个过度复杂的 C 衍生语言 7) Objective-C 与 C++ 可混合编程 缺点: 1) 不支援命名空间 2) 不支持运算符重