回收Ably实时连​​接

时间:2018-09-08 09:57:09

标签: node.js ably-realtime

我有点遇到一个奇怪的问题。 在我们的应用程序(基于React-native)中,我们托管了70个并发客户端,但监视页面中的峰值显示380个连接。 我认为客户端可能退出并以某种方式返回或重新加载应用程序,因此Ably连接再次重新生成,因此峰值增加。

现在的问题是:有什么方法可以强制Ably断开所有未使用的连接,从而使峰值降低? (也许来自后端)

谢谢。

1 个答案:

答案 0 :(得分:0)

默认情况下,连接将保持活动状态,直到显式关闭(使用connection.close())为止,或者在连接意外断开以允许connection state recovery之后两分钟。

浏览器环境中的able-js的最新版本会在页面重新加载时自动关闭连接(即closeOnUnload客户端选项默认为true)–这只是添加到{ connection.close()处理程序。问题在于,在不使用该事件的React Native环境中,它什么也不会做。

因此,您可能只需要使用React Native应用程序生命周期事件来主动管理Ably连接。如果您不希望应用程序在后台运行时保持活动状态,则在应用程序处于后台运行的处理程序中(根据React Native AppState event),关闭Ably连接。然后再次启用该应用程序后将其重新打开(调用beforeunload

出于其他可能的原因,您的峰值连接数可能比预期的高,请参阅Why are my peak connection counts higher than expected?How does Ably count peak connections?