Keep Alive timer は、WebSphere MQ Telemetry Transport CONNECT メッセージの変数ヘッダー内にあります。
Keep Alive Timer は、秒単位で計測されるもので、 このクライアントからメッセージを受信するときの最大時間間隔を定義します。 これにより、ブローカーは、TCP/IP の長いタイムアウトを待機することなく、 クライアントへのネットワーク接続が除去されたことを検出できます。 クライアントは、それぞれの Keep Alive Time 期間内にメッセージを送信する責任があります。 時間枠内にデータ関連メッセージが送信されない場合、 クライアントは、PINGREQ メッセージを送信します。 これを、ブローカーは、PINGRESP メッセージで確認通知します。
Keep Alive Time 期間の 1.5 倍の期間内 (つまりクライアントには、 時間枠の半分の期間の「猶予」が許可されている) にブローカーがこのクライアントからメッセージを受信しない場合、 クライアントが DISCONNECT メッセージを送信したときに行った切断処理を実行します。 このことは、クライアントのサブスクリプションには影響しません。 詳細については、DISCONNECT 通知の切断を参照してください。
Keep Alive Timer は、時間枠の秒数を表す 16 ビットの値です。 実際の値は、アプリケーション固有ですが、通常の値は数分です。 最大値は、約 18 時間です。 ゼロ (0) の値は、クライアントが切断されないことを意味します。
Keep Alive Timer の形式は、以下の表で示しています。Keep Alive Timer の 2 バイトの順序は、まず MSB、 その後で LSB になります (ビッグ・エンディアン)。
ビット | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Keep Alive MSB | ||||||||
Keep Alive LSB |