【发布时间】:2018-02-06 17:20:35
【问题描述】:
根据SO accepted answer,ping 超时必须大于ping 间隔,但根据official socket.io docs 中的示例,超时小于间隔。哪一个是正确的??此外,共享白板应用程序的两种设置的理想值可能是什么?
【问题讨论】:
标签: javascript node.js sockets socket.io
根据SO accepted answer,ping 超时必须大于ping 间隔,但根据official socket.io docs 中的示例,超时小于间隔。哪一个是正确的??此外,共享白板应用程序的两种设置的理想值可能是什么?
【问题讨论】:
标签: javascript node.js sockets socket.io
根据 socket.io 文档:
在这些选项中:
pingTimeout(Number):没有pong包多少毫秒才认为连接关闭(60000)
pingInterval (Number): 多少毫秒再发送一个新的 ping 数据包(25000)。
这两个参数会影响客户端知道服务器不再可用之前的延迟。例如,如果由于网络问题导致底层 TCP 连接未正确关闭,则客户端可能必须等待最多 pingTimeout + pingInterval ms 才能收到断开事件。
这让我相信,一个值大于另一个值并不存在依赖关系。您可能希望设置更长的超时时间以允许慢速网络连接接收响应。间隔时间将是从失败到再次尝试的时间,应该设置足够长的时间以允许重新连接,但不要太长时间保持连接。
至于理想值,这将是特定于应用程序的。我会考虑以下几点:
这些只是仅举几例,对于小型本地应用程序,超时 10000 和间隔 5000 可能没问题,但这是一个绝对的猜测。您需要考虑前面提到的要点。
【讨论】: