Перерабатывать соединения Ably в реальном времени - PullRequest
0 голосов
/ 08 сентября 2018

Я наткнулся на странную проблему. В нашем приложении (на основе React-native) мы разместили 70 одновременно работающих клиентов, но пик на странице мониторинга показал 380 соединений. Я предполагаю, что, возможно, клиенты выходят и возвращаются или перезагружают приложение, так что соединения Ably восстанавливаются снова и, следовательно, пик увеличивается.

Теперь вопрос: есть ли способ принудительно отключить Ably все неиспользуемые соединения, чтобы пик уменьшился? (Может быть, из конца)

Спасибо.

1 Ответ

0 голосов
/ 10 сентября 2018

По умолчанию соединение будет оставаться активным до явного закрытия (с помощью connection.close()) или двух минут после неожиданного отключения соединения, чтобы разрешить восстановление состояния соединения .

Последние версии ably-js в среде браузера автоматически закрывают соединение при перезагрузке страницы (то есть, клиентская опция closeOnUnload по умолчанию имеет значение true) - это всего лишь connection.close(), добавленное к beforeunload обработчик.Проблема в том, что в среде React Native ничего не происходит, и это событие не используется.

Так что вам, вероятно, просто нужно активно управлять подключением Ably с помощью событий жизненного цикла приложения React Native.Если вы не хотите, чтобы он оставался активным, когда приложение находится в фоновом режиме, то в обработчике приложения, которое находится в фоновом режиме (в соответствии с событием React Native AppState ), закройте соединение Ably.Затем снова откройте его (позвоните connect()), когда приложение снова будет активным.

По другим возможным причинам ваше пиковое число подключений может быть больше, чем ожидалось, см. Почему мои пиковые числа подключений выше, чеможидается? и Как Ably считает пиковые соединения? .

...