34 votes

Existe-t-il une bibliothèque XMPP WebSockets (JavaScript) open source?

Quelqu'un a-t-il écrit une bibliothèque XMPP open source utilisant WebSockets et destiné à être exécuté par un navigateur?

24voto

Makoto Points 229

Il existe de multiples solutions (aucun d'eux n'est parfait)

1. Utilisation Kaazing.

Déjà, ils ont l'appui. Il est open source, mais ils ont une sorte de double licence, il est donc préférable de vérifier si vous pouvez utiliser pour votre projet ou pas.

2. Combiner js.io et APE(Ajax Push Engine)

L'APE est une Comète cadre, mais ils ont récemment commencé à soutenir les Websockets. Sur leur site web("APE en tant que proxy" de la section), ils disent qu'il peut exécuter js.io bibliothèques qui comprend xmpp.js, de sorte que la combinaison d'eux peut fonctionner.

3. Utilisation Caucho

Il est basé sur java cadre semblables à des SINGES qui offre un guichet unique de la Comète solution, et ils semblent à l'appui de deux XMPP et les WebSockets

4. Demandez Strophe de l'équipe de soutien de WebSocket.

La Strophe ne XMPP sur BOSH(Bidirectionnel-flux Synchrone HTTP), mais il y a une discussion sur la façon de soutenir les WebSockets, trop.

Jack Moffitt (le développeur principal et l'auteur de l'ouvrage mentionné ci-dessus) semble avoir un intérêt dans les WebSockets, mais nous avons besoin de fournir plus fort raisonnement au sujet de pourquoi ils ont besoin de soutien WebSocket plus de BOSH. Si vous avez des réponses, merci de rejoindre la bande de roulement.

J'ai juste essayé de leur xmpp,bosh,strophe echobot exemple, qui travaillent bien. Vous pouvez aussi l'essayer pour voir si elle correspond à vos besoins ou non.

Pour le #2 et #3, ils disent qu'ils appuient tous deux xmpp et les websockets, mais vous ne savez pas si ils travaillent ensemble.

Ce type d'application que vous envisagez d'utiliser XMPP & WebSockets pour?

Ci-dessous sont des suggestions pour des solutions de rechange.

  • Si vous souhaitez la présence, chat, chat de fonctionnalité équivalente, vous pourriez faire des Vagues Gadget ou d'un Robot, puis l'exposer à l'extérieur à l'aide de la Vague Intégrer des API(lien mort, conservés à des fins d'historique). Wave est bâti sur XMPP.
  • Si vous êtes simplement à la recherche pour une très faible latence de transmission de messages, vous pouvez essayer AMQP.
  • Si vous êtes à la recherche pour beaucoup plus simple message streaming, vous pouvez simplement pipe/sortie de fichiers unix comme je l'ai démontré ici.

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

18voto

Joe Hildebrand Points 6666

Nous n'avons pas encore un standard pour XMPP sur les WebSockets que les serveurs peuvent mettre en œuvre, qui seront nécessaires avant que le côté client peuvent être abordés de façon adéquate.

La première étape est de finir WebSocket de normalisation. Il semble que cela peut se produire dans un IETF HyBi groupe de travail, qui au moment de la rédaction n'a pas encore été approuvé par l'IESG. Il y avait un HyBi Birds-of-a-Feather (BoF) à Hiroshima réunion de l'IETF il y a quelques semaines (voir les documents de la réunion), qui s'est plutôt bien passé.

Après les WebSockets a une référence stable, et semble se stabiliser, la XSF va créer une XEP qui lie XMPP pour les WebSockets, sans doute avec une strophe par WebSocket cadre.

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

3voto

Nosredna Points 33670

Il y a un livre à venir bientôt qui traite ce sujet...

Professionnel XMPP avec JavaScript et jQuery alt text

Mais je suis en supposant que vous ne voulez pas attendre pour le livre. Regardez donc la Prise Moffitt présentation de JSConf. Je l'ai regardé ce matin. (Jack Moffitt est l'auteur du livre lié ci-dessus.)

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

C'est un très fructueuse domaine de l'exploration, mais très brut. Nous allons le voir plus tôt. Les WebSockets venir avec HTML5, c'est que le droit?

3voto

Stefan Strigler Points 31

JSJaC implémente XMPP Sur les Websockets. Il est connu pour son travail avec plusieurs implémentations backend:

  • nœud-xmpp-bosh - prend en charge RFC6455 et fonctionne sans problème depuis 0.6.1, il a également de manière transparente utilise STARTTLS si nécessaire
  • wxg - prend en charge RFC6455 et de travaux sans problème, mais impossible de se connecter à des serveurs nécessitant STARTTLS (original wxg a certains les questions, qui ont été corrigés par Gordin).
  • ejabberd-websockets - ne pas soutien RFC6455 par conséquent, il ne fonctionne pas, en l'adaptant à l'appui RFC6455 devrait être assez facile pour quiconque de savoir Erlang (certains travaux en progrès peut être trouvé sur github)
  • Openfire - officieux plugin est disponible, mais il manque de soutien pour RFC6455 par conséquent, il ne fonctionne pas
  • Apache Vysper - ne pas de soutien RFC6455 donc ne fonctionne pas
  • Tigase - aucune œuvre connue sur WebSocket soutien
  • MongooseIM - une fourchette de ejabberd avec le soutien de XMPP sur les Websockets.

0voto

MKroehnert Points 1927

Je ne suis pas sûr pourquoi vous demandez spécifiquement pour un WebSocket solution, car les serveurs XMPP aurait pour soutenir cette première.

Cependant, il existe plusieurs XMPP bibliothèques JavaScript disponible (aussi loin que je vois qu'ils utilisent tous le BOSH méthode):

Ces exemples ont été prises à partir de la XMPP Site web qui répertorie open source implémentations du protocole XMPP.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X