3 ms·
The problem with XMPP
The problem with XMPP is that it requires several open ports (5222, 5223, 5269, 5298, 8010) on the client, on the technical and practical standpoint the reason why XMPP is unpopular to big players because many businesses won't be bothered to open their ports because they want to stay secure, now if you are a solutions provider creating software using XMPP solutions for those companies, the most viable solution is to use BOSH to direct XMPP traffic to port 80, but there's another big problem, the only available BOSH library is a GPL BOSH library that you would license in order for you to not to ship your software along with it's source-code. Now if you can do the same thing over HTTP 1.1 stream, why bother with XMPP?
- claudius 13y agoFor basic XMPP functionality, the client has to be able to connect to exactly one remote port (5222). This is not the same as an ‘open port’, as the latter usually implies allowing incoming connections on this port. You can easily run a XMPP server on any port you like, so it would also be possible to only require outgoing connection to, say, port 443. Thanks to TLS, this is somewhat indistinguishable from native HTTPS traffic. Regarding your problem with BOSH: Simply build your own library and everything is fine if you don’t like the GPL. Not really the problem of the rest of the world. Furthermore, you cannot do ‘the same thing’ using HTTP 1.1 as you can with XMPP – the former is a somewhat trivial c2s transport protocol, the latter is a complex, extensible protocol allowing both c2s, s2s, c2c and c2s2s2c connections. You don’t really compare the vfat module in Linux to the Windows kernel either.