什么是聊天室软件的最佳开放协议?

时间:2010-11-10 21:43:04

标签: protocols xmpp chat social-networking irc

我正在比较IRC,XMPP和我拥有的第三个专有服务器。

每个人的利弊是什么,如果你知道任何可以提及的话,建议其他人。

3 个答案:

答案 0 :(得分:23)

我知道这是一个非常古老的帖子,操作可能看不到回复(或者甚至可能不再关心),但我会亲自在XMPP上部署IRC。其中一个重要原因是随着越来越多的XMPP客户端连接,XMPP服务器占用的内存量。在单个实例中,当超过约200个用户连接时,我没有看到坚如磐石的可靠性,并且主动开始使用该服务(XMPP MUC,文件传输,客户端到客户端加密等)。

与IRC相比,我个人看到成千上万个与单个实例的连接,内存利用率通常低60-70%。 IRC服务器不需要解析从客户端传递的消息,文件传输是通过DCC的客户端到客户端,并且设计比基于XML的XMPP简单得多。

如果运行多个服务器,您可能会遇到netsplits,并允许客户端选择要连接的服务器。但是不稳定的IRC服务器与不稳定的XMPP服务器有何不同?如果一个IRC服务器netsplits,它不会使每个客户端脱机 - 只有那些连接到它的人。因此,与XMPP相比,影响微乎其微(除非您正在使用s2s)。

无论如何,IRC协议本质上更简单,对于相同的内存利用率,可以处理比XMPP更多的客户端连接,在线路上使用更少的带宽,不需要身份验证(尽管您可以添加此功能)等等。

似乎我不是唯一一个有这种感觉的人:http://web.archive.org/web/20131128110041/http://laltromondo.dynalias.net:80/~iki/informatica/soft/xmpp_vs_irc/

对于本文的未来读者,请考虑IRC。这可能只会让你在以后的路上感到头痛。

答案 1 :(得分:16)

选择XMPP。

servers known to scale big,它可以使用great libraries to support it以最小的麻烦(如果这就是您需要的)与Web客户端一起使用,并且XEP-45指定客户端和服务器的确切方式应该运作。

答案 2 :(得分:3)

您可能需要考虑 PSYC

这就像是XMPP和IRC的最佳功能的混合,然后是更多:

  

因为它可以提供你对IRC的大部分期望,你可以   在开始IRC网络之前考虑一下。 PSYC解决了IRC的问题   政治,身份验证和可扩展性问题,并伴随着巨大的问题   选择超出您期望的额外功能   仍然可以使用的IRC服务器可以与您使用的所有IRC客户端一起使用   习惯了。在一定程度上,PSYC和psyced也支持   你可以期待Jabber,甚至是XMPP本身,但你可以   根据您的特殊要求遇到问题。 psyced是   同时也是一个XMPP服务器和网关。 PSYC协议是   能够本地提供加密数据,虽然我们只是   将于2012年开始使用它。