2012-02-27 2 views
7

Je suis intéressé par le développement d'un moteur de discussion en utilisant XMPP et je veux utiliser Python pour mon développement web. Bien que XMPP soit indépendant de ce travail Python mais au cas où je voudrais écrire un wrapper, alors je devrai utiliser ce langage. Donc, je veux savoir quel serveur XMPP (de préférence open source) dois-je aller avec?Serveur XMPP pour Python

Et quelles bibliothèques python sont bonnes pour l'utilisation du service XMPP?

Répondre

13

Le seul effort (maintenu) pour un serveur XMPP est wokkel qui se base sur Twisted. Cela dit, wokkel manque d'une tonne de fonctionnalités que d'autres serveurs non-python donnent. En outre, wokkel vise à fournir la bibliothèque pour construire un serveur et il faudrait un effort non négligeable pour construire un serveur XMPP entièrement fonctionnel fournissant un support pour les XEP communs.

Du bon côté: vous n'avez pas vraiment besoin d'un serveur python. Vous pouvez utiliser un ejabberd, tigase, openfire (nom ici votre préférence). Vous pouvez écrire tous vos logiques/protocoles et composants personnalisés dans python et les connecter de manière transparente à ce serveur. Pour cette utilisation particulière wokkel et Twisted sont un excellent choix. Une autre grande bibliothèque est SleekXMPP.

+1

Point pris et merci pour votre réponse. En fait, je veux le déployer sur une grande échelle, a donc décidé d'aller avec ejabberd. Je l'ai installé et configuré. Mais comme je suis nouveau dans ce domaine, je ne suis pas capable de commencer assez facilement. La prochaine étape est probablement d'installer un client. Mais je ne suis pas capable de savoir par où commencer comme un programme HelloWorld. Alors, pouvez-vous me guider à travailler sur cela. Merci d'avance. – Him

+2

Voici un exemple de composant pour wokkel: http://metajack.im/2008/09/25/an-xmpp-echo-bot-with-twisted-and-wokkel/ et voici comment créer des clients simples avec : http://wokkel.ik.nu/wiki/XMPPClients. Bonne chance, il semblera complexe au début, mais les choses deviennent claires après;) – ggozad

+0

ejabberd Je crois qu'il faut erlang pour étendre, et erlang est un étrange canard d'une langue (bien qu'intimement bien adapté pour un déploiement à grande échelle), et semble être l'enfant mutant de prolog et haskell. Vous avez un diplôme comp-sci? Si ce n'est pas le cas, il peut être un peu induisant une langue migrant à apprendre. Il a cependant une interface xml-rpc qui peut faire la plupart des tâches requises pour le script (en utilisant le wrapper python) mais je ne crois pas qu'il puisse faire du routage problème. – Shayne