我将开始一个新的项目.在这个项目中,我有一台服务器和许多客户端(超过10万).客户端和服务器不断地相互通信.他们只使用短信.我觉得用tcp socket来管理太难了,所以我应该选择XMPP或者SIP.我将在这个项目中使用
Java.你建议我哪一个?他们的利弊是甚么?或者你知道更有效的解决方案吗?
解决方法
这就像比较苹果和橙子,因为SIP最初是为VoIP设计的,而XMPP则是为即时消息传送的.
在我看来,对于短信,XMPP更合适.
从防火墙的角度来看,XMPP要容易得多 – 它只需要一个TCP端口5222(而端口5269用于服务器到服务器的通信).由于5222与Google Talk正在使用的端口相同,因此很少被企业防火墙过滤. XMPP还通过同一端口5222支持STARTTLS,因此流量可以很容易地被保护.
另一方面,SIP通常通过UDP工作,需要多个端口,通常由企业防火墙进行过滤.