好吧,问题是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 timeout
并heartbeat timeout
没有真正相关,我不认为他们必须具有相同的价值.
编辑:作为close timeout
和heartbeat interval
,我不知道.可能是heartbeat消息将取消关闭超时,但它是真的,设置的默认值socket.io
(分别为25秒和60秒)没有多大意义.
编辑#2:心跳消息似乎不会取消关闭超时,因此它们是无关的.