我遇到了一个奇怪的问题。在我们的应用程序(基于 React-native)中,我们托管了 70 个并发客户端,但监控页面中的峰值显示 380 个连接。我假设客户端可能退出并返回或以某种方式重新加载应用程序,因此 Ably 连接再次重新生成,因此峰值增加。
现在的问题是:有什么方法可以强制 Ably 断开所有未使用的连接,从而降低峰值?(可能来自后端)
谢谢。
我遇到了一个奇怪的问题。在我们的应用程序(基于 React-native)中,我们托管了 70 个并发客户端,但监控页面中的峰值显示 380 个连接。我假设客户端可能退出并返回或以某种方式重新加载应用程序,因此 Ably 连接再次重新生成,因此峰值增加。
现在的问题是:有什么方法可以强制 Ably 断开所有未使用的连接,从而降低峰值?(可能来自后端)
谢谢。
默认情况下,连接将保持活动状态,直到显式关闭(使用connection.close()
),或在连接意外断开两分钟后恢复连接状态。
浏览器环境中的最新版本 ably-js 会在页面重新加载时自动关闭连接(即,closeOnUnload
客户端选项默认为 true)——这只是connection.close()
添加到beforeunload
处理程序中。问题是在不使用该事件的 React Native 环境中不会做任何事情。
因此,您可能只需要使用 React Native 应用程序生命周期事件主动管理您的 Ably 连接。如果您不希望它在应用程序处于后台时保持活动状态,则在应用程序处于后台的处理程序中(根据 React Native AppState 事件),关闭 Ably 连接。然后在应用程序再次处于活动状态时重新打开它(调用connect()
)。
由于其他可能的原因,您的峰值连接数可能高于预期,请参阅为什么我的峰值连接数高于预期?以及Ably 如何计算峰值连接数?.