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

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

谢谢。

最佳答案

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

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

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

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

10-07 18:26