OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

mqtt message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Re: [mqtt] CONNECT Will Msg in context of KeepAlive timeout

For the server to detect a Keepalive timeout  it must not have seen a PINGREQ (or other MQTT activity from the client) for a minimum of the keepalive interval.  Once the server has detected a keepalive timeout  the MQTT connection is deemed to be broken and the server will initiate a shutdown of the connection including sending the LWAT if one was requested.

The PINGREQ is always initiated from the client.  If the client does not receive a PINGRESP within the keepalive interval it deems the connection to be broken and should shutdown the connection.  

All the best


From:        "Mr. Allan Cornish" <acornish@inetco.com>
To:        mqtt@lists.oasis-open.org,
Date:        27/03/2013 00:26
Subject:        [mqtt] CONNECT Will Msg in context of KeepAlive timeout
Sent by:        <mqtt@lists.oasis-open.org>

This is probably a dumb question, but i would like to clarify the following sequence:

Client sends MQTT CONNECT + 'Will' msg, +ve KeepAlive
Server sends MQTT CONNACK
Keep Alive timeout occurs
Server sends MQTT PINGREQ, no response from client.
Server drops TCP connection.

Section 2.2 Will flag specifies 'Sending a Will message is not triggered by the server receiving a DISCONNECT message from the client.'

Section 2.2 Keep Alive timer specifies 'If the server does not receive ... it disconnects the client as if the client had sent a DISCONNECT message.'

Does this mean that if a client fails to respond and the server drops the TCP connection, the Will message is not published?

Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]