Повторное подключение Firebase onDisconnect

#firebase #firebase-realtime-database

#firebase #firebase-база данных в реальном времени

Вопрос:

Мой вопрос заключается в том, выполняется ли сервером успешная функция onDisconnect даже после повторного подключения клиента до того, как сервер обнаружит, что клиент был отключен?

Например, скажем, моя функция onDisconnect заключается в удалении узла a / b. Я отключаюсь и снова подключаюсь, чтобы увидеть наличие a / b (поскольку сервер все еще не обнаружил, что я отключился). Итак, теперь узел a / b должен быть удален, как я просил, когда я отключился в последний раз, даже если я сейчас подключен?

Ответ №1:

Если веб-сокет, управляемый SDK, по какой-либо причине отключается, и SDK удается повторно подключиться, я бы ожидал, что повторное подключение не отменит ожидающий onDisconnect, ожидающий на сервере. В конечном итоге будет внесено запрошенное вами изменение, даже если вашему клиентскому приложению удастся восстановить соединение до того, как сервер увидит, что исходное соединение разорвано. Или, другими словами, каждый подключенный сокет имеет свой собственный onDisconnect на сервере — они никоим образом не разделяются и не объединяются.