Используйте простую переменную timepan или integer в качестве флага. Когда таймер тикает, он проверяет объект «Секундомер», чтобы увидеть, сколько времени прошло с момента последнего обновления флага. Если оно превышает значение тайм-аута, вы активируете свой сторожевой код.
Теперь, вместо сброса вашего таймера, другой код может просто использовать секундомер, чтобы обновить значение вашего флага времени, когда приходит новый пакет.
Вы также должны либо установить интервал между тиками своего таймера примерно на половину от того, что вы хотите, чтобы фактическая длительность тайм-аута была, или иметь код в событии, чтобы установить интервал, чтобы ваше следующее событие тика было через несколько миллисекунд после будет тайм-аут, если соединение было разорвано сейчас. В противном случае вы могли бы ждать почти вдвое больше времени ожидания в ситуации, когда ваш последний пакет прибыл очень скоро после события тика.