Тайм-аут повторного подключения
Я использую Diffusion v5.6.6 для создания мобильного приложения, и важно, чтобы приложение восстанавливалось, когда клиенты теряют мобильное соединение, а затем снова получают соединение. Я вижу в Connectors.xml есть две настройки, связанные с этим:
<!-- This is the idle time (no inbound messages) before a
client will be pinged by the server. A response must
be received by Diffusion before the next interval,
else the client is considered to be disconnected. -->
<system-ping-frequency>90s</system-ping-frequency>
а также
<reconnect>
<!-- This is the amount of milliseconds a session
will be kept alive after a sudden connection loss. -->
<keep-alive>60000</keep-alive>
</reconnect>
В чем разница между этим 90-секундным пингом и 60-секундной поддержкой?
1 ответ
С соответствующей страницы руководства по диффузии:
Что касается 60 секунд, оставайтесь в живых; когда клиент теряет соединение, он переходит в состояние переподключения, где сеанс сохраняется на сервере до тех пор, пока клиент не переподключится или не будет достигнуто время поддержания активности и сеанс не будет разрушен. Сообщения для клиента все еще находятся в очереди, пока они находятся в состоянии переподключения.
Что касается 90-секундного пинга; system-ping-frequency
указывает частоту, с которой сервер будет пинговать клиента. Это используется для обнаружения того, что клиент был отключен, и если ответ не получен от клиента до истечения другого интервала, предполагается, что клиент был отключен. Если значение равно 0, клиенты не проверяются.