【问题标题】:Understanding socket.io ping interval/timeout settings了解 socket.io ping 间隔/超时设置
【发布时间】:2018-02-06 17:20:35
【问题描述】:

根据SO accepted answer,ping 超时必须大于ping 间隔,但根据official socket.io docs 中的示例,超时小于间隔。哪一个是正确的??此外,共享白板应用程序的两种设置的理想值可能是什么?

【问题讨论】:

    标签: javascript node.js sockets socket.io


    【解决方案1】:

    根据 socket.io 文档:

    在这些选项中:

    pingTimeout(Number):没有pong包多少毫秒才认为连接关闭(60000)

    pingInterval (Number): 多少毫秒再发送一个新的 ping 数据包(25000)。

    这两个参数会影响客户端知道服务器不再可用之前的延迟。例如,如果由于网络问题导致底层 TCP 连接未正确关闭,则客户端可能必须等待最多 pingTimeout + pingInterval ms 才能收到断开事件。

    这让我相信,一个值大于另一个值并不存在依赖关系。您可能希望设置更长的超时时间以允许慢速网络连接接收响应。间隔时间将是从失败到再次尝试的时间,应该设置足够长的时间以允许重新连接,但不要太长时间保持连接。

    至于理想值,这将是特定于应用程序的。我会考虑以下几点:

    • 您的应用程序的响应速度必须如何?
    • 您的应用程序需要多长时间才能响应网络请求?
      • 来回传递的数据有多大?
    • 您将拥有多少并发用户?

    这些只是仅举几例,对于小型本地应用程序,超时 10000 和间隔 5000 可能没问题,但这是一个绝对的猜测。您需要考虑前面提到的要点。

    【讨论】:

    • 您好,感谢您考虑的要点。在考虑的同时;哪种情况会以哪种方式影响值,您能详细说明一下吗?
    猜你喜欢
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-03
    • 2017-08-28
    • 2021-02-21
    相关资源
    最近更新 更多