[jdev] Message sending performance XEP-0124

Florian Schmaus flo at geekplace.eu
Sat Jul 2 09:48:35 UTC 2016


On 01.07.2016 16:22, Marcel Waldvogel wrote:
> For reliability requirements over wireless connections: don't use BOSH;
> do use Stream Management (XEP-0198)

Exactly. And if you want the BOSH advantage over XMPP's TCP binding,
i.e., using standard HTTP(S) ports, then use XMPP's WebSocket binding
(RFC 7395) + Stream Management.

Some background to this thread:
https://community.igniterealtime.org/message/258562#comment-258562

I have not much experience with BOSH as I don't/seldom use it. I've
merged Smack's BOSH branch when I took over Smack and fixed a few
things, but the code should be considered unmaintained.

I wonder if BOSH is suitable for mobile environments. In my experience
those environments require being able to check the underlying TCP
connection for liveness, which is not trivial when using BOSH I imagine.
Using the BOSH Technique in mobile environments could cause serious UX
issues if the first connection hangs in the long-polling state because
the TCP connection broke down silently.

WebSocket doesn't have this issues, and provides the same feature set as
BOSH when used with Stream Management. I think it is the future and that
there is no real reason, besides implementation availability, to use
BOSH any more. Sadly there is no support for XMPP over WebSocket in
Smack (yet).

- Florian

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 603 bytes
Desc: OpenPGP digital signature
URL: <https://www.jabber.org/jdev/attachments/20160702/2f9df40f/attachment.sig>


More information about the JDev mailing list