Можно настроить решение для опроса, в котором вместо того, чтобы клиент оставался подключенным, чтобы дождаться ответа, он выполняет запрос и немедленно отключается.Затем он повторно соединяется каждые X секунд для опроса, если запрос завершен или нет.
На сервере, если вы не видите опрос клиента в течение X * 2 секунд, то что-то случилось с клиентом, и выдолжен прервать запрос.
Для выполнения этой работы потребуется дополнительная инфраструктура на сервере, чтобы отслеживать, какие запросы активны и когда вы последний раз видели клиента, к сожалению.