Recycle Ably 实时连接

Recycle Ably realtime connections

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

现在的问题是:有没有办法强制 Ably 断开所有未使用的连接,从而降低峰值? (可能来自后端)

谢谢。

默认情况下,连接将保持活动状态,直到明确关闭(使用 connection.close()), or two minutes after the connection is disconnected unexpectedly to allow for connection state recovery.

最新版本的 ably-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? and How does Ably count peak connections?