[Standards] Stream Management and Acks (XEP-0198)
jig at monitzer.com
Tue Nov 15 13:48:58 UTC 2011
> Having worked on protocol servers for many years I have learned that
> clients will send you junk.
> (I see ESMTP/IMAP in your sig, so I know you know what I'm talking about :-)
> Thus, I cannot assume that whatever I'm talking to is well-behaved.
> I try to follow the "be strict on what you send, liberal on what you
> receive" principle.
> I want the end-users to have a good experience when enabling XEP-0198,
> and so, I'd like to mask as many errors as possible, including ones from
> buggy clients.
As an XMPP client developer, I beg you to be as strict as possible with the protocols. If I unknowingly use a lenient server to check whether my implementation works, I would be misled into thinking that it's ok, when in fact it's not. Then it would fail with some other server I haven't tested. Dropping the connection on every minor implementation issue is the easiest way for me to identify and fix bugs that inevitably come up. XEP-0198 is a special candidate for those issues, since it's very hard to test in laboratory conditions (I had to constantly add and remove an IP address on my loopback device to simulate dropped connections).
More information about the Standards