繁体   English   中英

socket.io中关闭超时和心跳间隔有什么区别

[英]what is the difference between close timeout and heartbeat interval in socket.io

好吧,问题是socket.io中关闭超时和心跳间隔参数之间的区别是什么

我在socket.io的github页面中读到了它们

https://github.com/LearnBoost/Socket.IO/wiki/Configuring-Socket.IO

但是,我不能完全理解它们如何相关的区别,以及在我手动配置它们时两者的值是否应该相同。

关于这个话题的更多材料我来了--------------------

https://groups.google.com/forum/?fromgroups#!topic/socket_io/2hn52Udb-3A

使用socketio心跳的优点/缺点

Socket.io“连接”事件在每个客户端心跳上触发?

在socket.io上设置高关闭超时是否安全?

文件确实不是很清楚。

据我了解(也看代码):

  • 当客户端或服务器关闭连接时, close timeout设置一种“宽限期”:而不是立即关闭它,它将首先等待close timeout秒; 如果在该段时间内,客户端决定重新连接,发送数据或从服务器接收数据,则将重新使用该连接(并且将清除超时)。 否则,当超时后没有发生任何事情时,连接真的关闭;
  • heartbeat timeout :如果在这么多秒之后,客户端没有响应来自服务器的心跳消息,服务器将认为连接丢失(或客户端无响应)并将关闭它;
  • heartbeat interval :设置心跳消息之间的间隔(由服务器用来检查客户端是否仍然连接); 默认情况下,它每25秒发送一条消息;

close timeoutheartbeat timeout并不真正相关,我不认为它们必须具有相同的值。

编辑 :至于close timeoutheartbeat interval ,我不确定。 可能是heartbeat消息将取消关闭超时,但是这是真的, socket.io设置的默认值(分别为25秒和60秒)没有多大意义。

编辑#2 :心跳消息似乎不会取消关闭超时,因此它们是无关的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM