2009/6/17 Remko Tronçon <[email protected]>: >> It's possible, I suppose, that the remote client went offline before the >> <message/>, and came back online after, just in time to get the <iq/>, but >> it seems terribly unlikely, especially as you'd also see a <presence/> >> update as it came back online. > > Well, there's not much worse than a reliable messaging protocol that isn't > 100% reliable. If there's the slightest possibility that this fails (e.g. > client going offline and coming online with the same resource, and for some > reason the presence doesn't get through), then it shouldn't be used as a way > to acknowledge receipt. >
But it can be used quite well to report error when it is sure. Client can wait a few seconds for any activity from the other side, then report that the other party doesn't respond and is probably unreachable. That would be usable in case the other party doesn't support receipts, but I agree it should not be use to explicitly acknowledge the delivery happened, as ping has no relation to the previous stanza. (For example the receiver can filter incoming messages and drop the message before any processing, or something similar)
