我有点遇到一个奇怪的问题。 在我们的应用程序(基于React-native)中,我们托管了70个并发客户端,但监视页面中的峰值显示380个连接。 我认为客户端可能退出并以某种方式返回或重新加载应用程序,因此Ably连接再次重新生成,因此峰值增加。
现在的问题是:有什么方法可以强制Ably断开所有未使用的连接,从而使峰值降低? (也许来自后端)
谢谢。
答案 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?。