Question

Quelqu'un at-il écrit une bibliothèque XMPP open source qui utilise WebSockets et est destiné à être exécuté par un navigateur?

Était-ce utile?

La solution

Nous n'avons pas encore une norme pour XMPP sur WebSockets que la les serveurs peuvent mettre en œuvre, qui seront nécessaires avant que le côté client peuvent être traitées de manière adéquate.

La première étape consiste à terminer la normalisation WebSocket. On dirait que cela peut se produire dans un groupe de travail IETF HyBi, qui, au moment de l'écriture n'a pas encore été approuvé par l'IESG. Il y avait un HyBi Birds-of-a-plumes (BOF) lors de la réunion d'Hiroshima IETF il y a quelques semaines (voir le noreferrer matériel de réunion ), ce qui est plutôt bien passé.

Après WebSockets a une référence stable et semble se stabiliser vers le bas, le XSF va créer un XEP qui se lie à WebSockets XMPP, vraisemblablement avec un couplet par trame WebSocket.

Edit: Jack Moffitt a écrit un Internet Draft avec un premier passage à un protocole qui peut être utilisé. AVERTISSEMENT . Ceci est encore susceptible de changer radicalement. Seulement mettre en œuvre si vous êtes prêt à déchirer complètement plus tard. AVERTISSEMENT .

Autres conseils

Il existe de multiples solutions (aucun d'entre eux sont parfaits)

1. Utilisez Kaazing.

Ils soutiennent déjà. Il est open source, mais ils ont une sorte de double licence, donc mieux vérifiez si vous pouvez utiliser pour votre projet ou non.

2. Js.io et APE combiner (Ajax push Engine)

APE est un cadre Comet, mais ils ont récemment commencé à soutenir Websockets. A leur site Web ( « APE en tant que proxy » section), disent-ils, il peut fonctionner js.io bibliothèques qui comprend xmpp.js, afin de les combiner peuvent travailler.

3. Utilisez Caucho

Il est un cadre basé sur Java similaire à APE qui offre un guichet unique solution Comet, et ils semblent soutenir à la fois XMPP et WebSockets

4. Demandez équipe Strophe pour soutenir WebSocket.

Strophe ne XMPP sur BOSH (bi-directionnel flux sur HTTP synchrone), mais il y a une discussion à propos de WebSockets soutenir aussi.

Jack Moffitt (le développeur principal et l'auteur du livre mentionné ci-dessus) semble intéressé par WebSockets, mais nous avons besoin d'approfondir sa motivation forte sur les raisons dont ils ont besoin pour soutenir WebSocket sur BOSH. Si vous avez de bonnes réponses, s'il vous plaît joindre à la bande de roulement.

Je viens d'essayer leur XMPP, bosh Strophe echobot exemple , qui a fonctionné bien. Vous pouvez également essayer de voir si elle correspond à vos besoins ou non.

Pour # 2 et # 3, disent-ils qu'ils ont tous deux XMPP soutien et websockets, mais pas sûr si elles travaillent ensemble.

Quel type d'application que vous songez à utiliser XMPP et WebSockets pour?

Voici quelques suggestions de solutions de rechange.

  • Si vous voulez que la présence, le chat, la fonctionnalité chat room équivalente, vous pouvez faire gadget ou vague Robot, puis exposer à l'extérieur en utilisant API vague Intégrer (lien mort, conservés à des fins historiques). Vague est en fait construit sur XMPP.
  • Si vous recherchez simplement très faible capacité de messagerie de latence, vous pourriez essayer AMQP .
  • Si vous êtes à la recherche pour le streaming de messages beaucoup plus simple, il vous suffit tuyau / sortie unix comme je l'ai montré ici .

Je suis la plupart des informations ci-dessus lorsque je l'ai écrit ce billet de blog . Si vous cochez la section des commentaires temps en temps, je vais poster mise à jour une fois que je trouve d'autres solutions.

Il y a un livre à venir qui couvre ce sujet ...

Professional XMPP avec JavaScript et jQuery alt texte http://ecx.images-amazon.com/images/ I / 51B7VAHw8OL._SL500_AA240_.jpg

Mais je suppose que vous ne voulez pas attendre le livre. Alors regardez la présentation de Jack Moffitt de JSConf. Je l'ai regardé ce matin. (Jack Moffitt est l'auteur du livre lien ci-dessus.)

La bibliothèque impliquée (implémentations JavaScript et C) est Strophe .

Ceci est une zone très fructueuse de l'exploration, mais très cru. Nous verrons plus bientôt. WebSockets viennent avec HTML5, est-ce pas?

JSJaC outils XMPP plus Websockets . Il est connu pour travailler avec plusieurs implémentations back-end:

  • nœud XMPP-bosh - prend en charge RFC6455 et fonctionne sans problème depuis 0.6.1, il a également transparente utilise STARTTLS si nécessaire
  • WXG - soutient RFC6455 et œuvres sans problème, mais ne peut pas se connecter aux serveurs nécessitant STARTTLS (WXG d'origine a quelques-uns questions, qui ont été fixés par Gordin).
  • ejabberd-websockets - ne pas le soutien RFC6455 par conséquent, il ne fonctionne pas, en l'adaptant à l'appui RFC6455 devrait être assez facile pour quiconque connaissant Erlang (certains travaux en cours sont disponibles sur github)
  • Openfire - plug-in non-officiel est disponible, mais il manque de soutien pour RFC6455 par conséquent, il ne fonctionne pas
  • Apache Vysper - ne pas en charge RFC6455 donc ne fonctionne pas
  • tigase - pas de travail connu sur WebSocket soutien
  • MongooseIM - une fourchette de ejabberd avec prise en charge XMPP sur Websockets.

Je ne suis pas sûr JS sur le côté du navigateur peut gérer le protocole WebSocket seul car il repose essentiellement sur l'API du navigateur. Peu de soutien du navigateur Websocket encore: Chrome, Safari5, Firefox4 peut-être. Il y a beaucoup de solutions de contournement basées sur Flash / AS3 (alors votre js communique avec le code flash) la limitation principale est que le flash ne supporte pas une connexion sécurisée (trop mal).

BWT, vous pouvez consulter ce implem WebSocket ils fournissent client opensource Java websocket lib et semble pour faire face à des choses XMPP et si vous parcourez les dépôts que vous pourriez trouver la mise en œuvre AS3 websocket de base.

Je ne sais pas pourquoi vous demandez spécifiquement pour une solution WebSocket car les serveurs XMPP devraient soutenir cette première.

Cependant, il y a plusieurs bibliothèques JavaScript disponibles XMPP (pour autant que je vois qu'ils utilisent tous la méthode BOSH):

Ces exemples ont été tirés de la XMPP site qui énumère les implémentations open source du protocole XMPP .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top