powered by Jive Software

Trying to understand how BOSH works with MUC

HI all,

We’re just in the process of switching from socket connections using XIFF to BOSH connections using Strophe (as we’re ditching Flash in the client).

I’m trying to understand the process of a BOSH connection and how Openfire deals with it as my knowledge is vague and the XEP doesn’t seem to give you much over telling you how the connection is established.

When I connect a BOSH client and netstat I can see two connections open on the BOSH port, presumably one for in and one for out (hence bi-directional?). I connect to Openfire and join an empty room and do nothing (ps - turned off the ping). After a short space of time, one of these connections dies. I am guessing this is the outbound, and it would open it again when it needed to send another packet. The other connection stays open - presumably this is Openfire’s to close as and when it deems fit.

Is this a valid synopsis of what happens? Is the connection being held on by Openfire? If my client had been in a busy MUC room would it essentially act like a socket connection does?