i will start a new project. In this project i have a server and many clients (over 100000). Clients and the server continuously will communicate with each other. They use only text messages. I think, It is too hard to manage with tcp socket so I should choose XMPP or SIP. I will use Java in this project. Which one do you suggest me? and What are their pros and cons? or do you know more efficient solution?
Zoom uses XMPP (with some proprietary extensions) for its chat functionality. Grindr is a geosocial networking and online dating application that uses XMPP for its chat application. Mailfence uses XMPP for its group chat functionality. A free and open source XMPP service that uses your phone number as the user ID.
The Google Talk service supports both XMPP client-to-server connectivity and XMPP server-to-server connectivity.
whatsapp works on the XMPP protocol which is an open protocol.
The original and "native" transport protocol for XMPP is Transmission Control Protocol (TCP), using open-ended XML streams over long-lived TCP connections. As an alternative to the TCP transport, the XMPP community has also developed an HTTP transport for web clients as well as users behind restricted firewalls.
It is like comparing apples to oranges, because SIP was originally designed for VoIP, and XMPP for instant messaging.
In my opinion, for text messages only, XMPP is more appropriate.
XMPP is much easier from firewall point of view - it only needs one TCP port 5222 (and port 5269 for server to server communication). Since 5222 is the same port as Google Talk is using, is it rarely filtered by corporate firewalls. XMPP also supports STARTTLS over the same port 5222, so traffic can be easily secured.
SIP, on other hand, normally works over UDP, needs more than one port and is commonly filtered by corporate firewalls.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With