Это немного абстрактные вопросы, и может быть много решений для этого. Одним простым и быстрым решением было бы создать HashTable, где
HashKey = IP удаленного устройства
Значение = метка времени, когда последний пакет был получен от этого устройства.
Теперь, когда вы получаете пакет, вы просто обновляете хеш-таблицу как
if (hashTable содержит «RemoteEndPoint»)
{
hashTable [remoteEndPoint] = now () // текущее время.
}
еще
{
// если вы хотите добавить / зарегистрировать новое устройство в свой список, сделайте это здесь
}
Помимо того, что вы можете просто запустить Timer с некоторым интервалом, который пересекает HashTable и проверить, не меньше ли некоторый TimeStamp (currentTime - ваш интервал установки), тогда вы можете сказать, что вы не получили данные из этой конечной точки .