I was wondering if I have to implement a XMPP client, which connection is the best way, using socket or BOSH? What are the pros and cons? I assume both can support clients to be on different network than the server?
相关问题
- Get Offline Messages From XMPP Without Becoming On
- How to implement “last seen at” functionality (lik
- smack api get all public rooms on openfire server
- ejabberd MUC message history
- How do I set a Jabber status with python-xmpp?
相关文章
- Xmpp chat invisible presence
- Jabber.net on Unity/Android error (No JNI_OnLoad f
- Sending inline images using Smack XMPP
-
How to join multiple rooms by just sending one
- How to get offline message of group chat from Open
- XMPP events on Android
- How to create an account from Smack 4.1
- XMPPFramework - Upload Profile or Avatar Image
This is certainly not a definitive list of all the pros and cons but rather the ones I have come across while trying to implement a cross network encrypted Openfire connection .
Socket One Pro of Socket Connection: supports auto TLS encryption.
One Possible Con of Socket Connection: I have recently learned that using socket connections can be an issue if the Openfire Server is on a different Network than the Client connecting to that server, in which case the ability to connect to the server can be at the mercy of the connecting networks firewall and ability to connect via the standard 5222 Socket port.
HTTP-Bind
Pro of Http-Bind: Can alleviate the aforementioned problem of inter-network connections by using the standard Http port.
One Con of the Http-Bind: Does not appear to support the auto TLS encryption and instead relies on the 'Old SSL' standard for encrypted communication, which many XMPP libraries don't appear to support.
I think the biggest difference between socket and bosh is that bosh uses HTTP which is stateless(connectection closed) vs socket. That means you can connect to XMPP from within the browser when using BOSH. I don't understand why you would want to create a BOSH client, because strophe.js is a very nice bosh client. Also there is allready a socket implementation in almost any available language. That is the nice thinkg about XMPP if you ask me.