Il timer Keep Alive è presente nell'intestazione variabile di un messaggio CONNECT di WebSphere MQ Telemetry Transport.
Il timer Keep Alive, misurato in secondi, definisce l'intervallo di tempo massimo che intercorre tra i messaggi ricevuti da un client. Esso abilita il broker a rilevare che si è interrotta la connessione di rete ad un client, senza dover attendere il lungo timeout TCP/IP. Il client ha la responsabilità di inviare un messaggio entro ogni periodo di tempo Keep Alive. In assenza di un messaggio relativo ai dati durante tale periodo di tempo, il client invia un messaggio PINGREQ, che il broker conferma tramite un messaggio PINGRESP.
Se il broker non riceve un messaggio dal client entro una volta e mezzo il periodo di tempo Keep Alive (al client è concessa "una proroga" di metà periodo di tempo), scollega il client, come se il client avesse inviato un messaggio DISCONNECT. Questa azione non ha effetti sulle sottoscrizioni del client. Consultare DISCONNECT - Notifica di scollegamento per ulteriori dettagli.
Il timer Keep Alive è un valore a 16-bit che rappresenta il numero di secondi per il periodo di tempo. Il valore reale è specifico dell'applicazione, ma un valore tipico corrisponde ad alcuni minuti. Il valore massimo è circa 18 ore. Un valore zero (0) significa che il client non è scollegato.
Il formato del timer Keep Alive è mostrato nella tabella seguente. L'ordine dei 2 byte del timer Keep Alive è MSB, poi LSB (big-endian).
bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
MSB Keep Alive | ||||||||
LSB Keep Alive |