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