[jdev] XMPP Ping method?
Kevin Smith
kevin at kismith.co.uk
Thu Nov 2 05:05:05 CST 2006
Off-topic: I'm cross-posting this again, since this seems to be a
debate about whether this is a protocol or implementation issue (It's
a protocol issue by the way ;))
On-topic:
On 2 Nov 2006, at 10:27, Bruce Campbell wrote:
>> Hop-by-hop tests are quite easy, too, but there's a gotcha - when
>> they fail, you want to know which stanzas you need to resend. And
>> XMPP does not provide any mechanism for that, and nor do pings.
>
> If you can be assured of whitespace pings between the client and
> the server, the server can simply queue up all stanzas as received
> and forwarded, and delete from the queue any stanzas sent between
> successful receipt of whitespace pings. Without protocol changes,
> the odd duplicated stanza is probably the best of a known evil.
We discussed this idea the last time the reliable delivery discussion
came around. Unfortunately, you can't do that because you have no
idea what stanzas the other end received before they sent the
whitespace ping, only what stanzas you had sent.
For what it's worth, I very much want to get some ack system into
widespread use. For some people, with reliable server software,
hardware, network infrastructure and clients, XMPP seems to be
reliable already but it's really just good fortune. Once one of these
starts becoming a problem, reliability goes out of the window. Since
the networking team at the site my primary account is hosted have
been having problems over the last couple of weeks, I've lost count
of the number of people I've sent messages to only for them to never
be received (and for me to not know this until I speak to the person
out-of-band). As such, I'm really suffering from the current lack of
reliable delivery. Per-hop acks would guarantee end-to-end delivery
and would strengthen xmpp considerably. Details, such as a new TLE,
or <iq> are worth discussing, but this is the moment for finally
making xmpp reliable.
/K
--
Kevin Smith
Psi XMPP Client Project Leader (http://psi-im.org)
More information about the JDev
mailing list