Python的XMPP服务器

8
我希望能够使用XMPP开发聊天引擎,并且我想使用Python进行Web开发。虽然XMPP将独立于Python工作,但是如果我想编写包装器,那么我就必须使用这种语言。
因此,我想知道应该选择哪个XMPP服务器(最好是开源的)?
以及哪些Python库适合使用XMPP服务?
1个回答

14
唯一(维护的)XMPP服务器的努力是wokkel,它基于Twisted构建。话虽如此,wokkel缺乏其他非Python服务器提供的大量功能。此外,wokkel旨在提供用于构建服务器的库,实际上需要相当多的工作才能构建一个完全功能的XMPP服务器,为常见的XEP提供支持。
好消息是:你不真正需要一个Python服务器。你可以使用ejabberd、tigase、openfire(在这里命名你的偏好)。您可以在python中编写所有自定义逻辑/协议和组件,并将它们无缝连接到该服务器。对于这个特定的用途,wokkel和Twisted是一个很好的选择。另一个很棒的库是SleekXMPP

1
收到,谢谢您的回复。实际上,我想要在大规模上部署它,所以决定使用ejabberd。我已经安装并配置了它。但是作为一个新手,我无法轻松地开始工作。 下一步可能是安装客户端。但我不知道从哪里开始,例如HelloWorld程序。因此,您能否指导我进行操作。谢谢。 - Him
2
这是一个关于wokkel组件的示例:http://metajack.im/2008/09/25/an-xmpp-echo-bot-with-twisted-and-wokkel/,并且这里有如何使用它构建简单客户端的说明:http://wokkel.ik.nu/wiki/XMPPClients。祝你好运,一开始可能看起来很复杂,但事情会在之后变得清晰明了的 ;) - ggozad
我相信ejabberd需要erlang进行扩展,而erlang是一种奇怪的语言(尽管天生适合大规模部署),似乎是prolog和haskell的变异子。你有计算机科学学位吗?如果没有,学习这种语言可能会让人头疼。但是它确实有一个xml-rpc接口,可以通过使用python包装器执行大多数所需的脚本任务,但我不认为它可以执行路由,这是一个问题。 - Shayne

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接