XMPP与SIP比较

Zap*_*eus 11 java xmpp communication sip

我将开始一个新项目.在这个项目中,我有一个服务器和许多客户端(超过100000).客户端和服务器将持续相互通信.他们只使用短信.我认为,用tcp套接字管理太难了所以我应该选择XMPP或SIP.我将在这个项目中使用Java.你建议我哪一个?他们的利弊是什么?或者你知道更有效的解决方案吗?

mvp*_*mvp 12

这就像比较苹果和橙子一样,因为SIP最初是为VoIP设计的,而XMPP则是为即时通讯设计的.

在我看来,仅对于短信,XMPP更合适.

从防火墙的角度来看,XMPP要容易得多 - 它只需要一个TCP端口5222(以及用于服务器到服务器通信的端口5269).由于5222与Google Talk使用的端口相同,因此很少被公司防火墙过滤.XMPP还通过相同的端口5222支持STARTTLS,因此可以轻松保护流量.

另一方面,SIP通常在UDP上工作,需要多个端口,并且通常由企业防火墙过滤.


God*_*ere 7

我认为你应该使用SIP,因为它支持点对点协议,并且是通过UDP/TCP.它支持SIP SIMPLE和CPM ,详情请参见http://www.linkedin.com/groups/Differences-betwen-SIP-SIMPLE-CPM-1890406.S.150607448.

如果您使用与SIP SIMPLE和CPM功能捆绑在一起的开源SIP堆栈,您将编写更少的代码.

  1. http://dev.telestax.com/jain-sip/

  2. 看看基于Jain-SIP的Mobicent的Sip servlet.https://code.google.com/p/sipservlets/.您可以使用Tomcat/JBoss进行服务器部署.

  3. https://code.google.com/p/openjsip/

您可以在opensource SIP服务器之上添加Lightweight Presence服务器,以支持SIP客户端之间的Presence.

在客户端堆栈上,您可以使用基本的Opensource堆栈.

更多细节@ 寻找Android的SIP堆栈

https://code.google.com/p/android-rcs-ims-stack/