Per il nostro sistema principale, abbiamo una piccola applicazione di monitoraggio che si trova all'esterno della nostra rete e tenta periodicamente di accedere per verificare che il sistema funzioni ancora. Abbiamo un problema con il monitor, anche se il set di componenti di comunicazione (Asta 3 all'interno delle applicazioni Delphi) non si collega sempre. In generale, direi che è affidabile al 95%, ma l'altro 5% uccide il monitor dal momento che proverà ad accedere e ad appendere al tentativo di connessione (nessun timeout nel componente). Questo in realtà non è un problema sul lato client del sistema poiché i client non si disconnettono e riconnettono ripetutamente sulla stessa istanza dell'applicazione, ma ho bisogno di un modo per assicurarmi che il monitor rimanga attivo e continui a funzionare anche quando il componente fallisce di corsa. Ho alcune idee su come far funzionare il programma, l'idea principale è di mettere le comunicazioni all'interno di un modulo dati filettato in modo che se un thread si arresta in modo anomalo, un altro thread può testare più tardi e il programma continua a funzionare. Questo suona come un modo valido per andare? Altre idee su come garantire un'applicazione di monitoraggio affidabile con un componente affidabile inferiore al 100%?