2012-02-27 66 views
7

我有兴趣使用XMPP开发聊天引擎,并且我想为我的web开发使用Python。虽然,XMPP将独立于此Python工作,但如果我想编写包装,那么我将不得不使用该语言。用于Python的XMPP服务器

所以,我想知道哪个XMPP服务器(最好是开放源代码)我应该去?

哪个python库适合使用XMPP服务?

回答

13

XMPP服务器的唯一(维护)工作是wokkel,其构建基于Twisted。也就是说,wokkel缺乏其他非python服务器提供的大量功能。此外,wokkel的目标是提供构建服务器的库,并且需要付出不小的努力来实际构建一个功能完备的XMPP服务器,以支持常见的XEP。

好的一面:你并不需要一个python服务器。你可以使用ejabberd,tigase,openfire(在这里命名你的偏好)。你可以用python编写你所有的自定义逻辑/协议和组件,并将它们无缝地连接到那个服务器上。对于特殊用途,wokkel和Twisted是一个很好的选择。另一个伟大的图书馆是SleekXMPP

+1

采取点,并感谢您的答复。其实我想大规模部署它,所以决定和ejabberd一起去。我已经安装并配置了它。但是因为我对它很陌生,所以我不能很容易地开始处理事情。 下一步可能是安装一个客户端。但我无法像HelloWorld程序那样从哪里开始。那么,你能指导我去做这件事吗?提前致谢。 – Him 2012-03-14 07:20:47

+2

以下是wokkel组件的示例:http://metajack.im/2008/09/25/an-xmpp-echo-bot-with-twisted-and-wokkel/以下是如何使用它构建简单的客户端:http://wokkel.ik.nu/wiki/XMPPClients。祝你好运,一开始看起来会很复杂,但事情在后面会变得清晰;) – ggozad 2012-03-14 16:45:24

+0

ejabberd我相信需要erlang进行扩展,而erlang是一种语言中的一种奇怪的鸭子(虽然天生非常适合大规模部署),并且似乎成为prolog和haskell的突变孩子。有一个comp-sci学位?如果没有,它可能是一些migrane诱导语言学习..但它有一个xml-rpc接口,它可以完成脚本编写所需的大部分任务(使用python包装器),但我不相信它可以执行路由,这是一个问题。 – Shayne 2016-10-06 12:24:02