Domanda

Qualcuno ha scritto una libreria open source XMPP che utilizza WebSockets ed è destinato ad essere gestito da un browser?

È stato utile?

Soluzione

Non abbiamo ancora uno standard per XMPP su WebSockets che la server possono implementare, che saranno necessari prima che il lato client possono essere affrontate in modo adeguato.

Il primo passo è quello di finire WebSocket standardizzazione. Sembra che questo può accadere in un gruppo di lavoro IETF HyBi, che al momento della scrittura non è ancora stato approvato dalla IESG. C'era un HyBi Birds-di-un-piuma (BoF) in occasione della riunione di Hiroshima IETF un paio di settimane fa (si veda il noreferrer materiali riunioni ), che è andato abbastanza bene.

Dopo WebSockets ha un riferimento stabile, e sembra essere sistemarsi, il XSF creerà un XEP che si lega a XMPP WebSockets, presumibilmente con una strofa per frame WebSocket.

Modifica: Jack Moffitt ha scritto un Internet-Progetto con una prima passata in un protocollo che può essere utilizzato. ATTENZIONE . Questo è ancora destinata a cambiare drasticamente. Solo attuarlo se siete disposti a strappare fuori completamente in seguito. ATTENZIONE .

Altri suggerimenti

Ci sono molteplici soluzioni (nessuno di loro sono perfetti)

1. Utilizzare Kaazing.

Sono già supportano. È open source, ma hanno un qualche tipo di doppia licenza , quindi meglio verificare se è possibile utilizzare per il progetto o meno.

2. Combina js.io e APE (Ajax di spinta del motore)

APE è un framework cometa, ma hanno recentemente iniziato a sostenere WebSockets. Al loro sito web (sezione "APE come proxy"), dicono che può essere eseguito js.io librerie che comprende xmpp.js, quindi la loro combinazione può funzionare.

3. Utilizzare Caucho

Si tratta di un framework basato su Java simile a APE, che fornisce uno sportello soluzione Comet, e sembrano supportare sia XMPP e WebSockets

4. Chiedi squadra Strophe per sostenere WebSocket.

Strophe fa XMPP oltre BOSH (bidirezionale-stream su HTTP sincrono), ma v'è una discussione su supporto WebSockets , anche.

Jack Moffitt (lo sviluppatore di base e l'autore del libro di cui sopra) sembra interessato a WebSockets, ma abbiamo bisogno di fornire più forte il ragionamento sul perché hanno bisogno di supportare WebSocket sopra BOSH. Se si dispone di buone risposte, unitevi il battistrada.

Ho appena provato il loro xmpp, Bosh, strofa echobot esempio , che ha funzionato bene. Si potrebbe anche voler provare a vedere se si adatta la vostra esigenza o meno.

Per la # 2 e # 3, dicono che entrambi XMPP supporto e WebSockets, ma non è sicuro se lavorano insieme.

Che tipo di applicazione che si sta pensando di utilizzare XMPP e WebSockets per?

Il sotto sono suggerimenti per alternative.

  • Se si desidera che la presenza, chat, chat room funzionalità equivalenti, si potrebbe fare Saluto gadget o robot, quindi esporre all'esterno utilizzando Saluto Embed API (link morto, conservato a fini storici). Wave è in realtà costruito sulla cima di XMPP.
  • Se siete semplicemente alla ricerca di funzionalità di messaggistica latenza molto bassa, si potrebbe provare AMQP .
  • Se siete alla ricerca di molto più semplice lo streaming messaggio, si può solo tubo nel file / out unix come ho dimostrato qui .

ho ottenuto la maggior parte delle informazioni di cui sopra quando ho scritto questo post del blog . Se si controlla il tempo commento sezione per volta, mi post aggiornamento una volta ho trovato altre soluzioni.

C'è un libro in arrivo che copre questo argomento ...

professionale XMPP con JavaScript e jQuery alt text http://ecx.images-amazon.com/images/ I / 51B7VAHw8OL._SL500_AA240_.jpg

Ma io sto assumendo che non si vuole aspettare per il libro. Quindi, guardare presentazione del Jack Moffitt da JSConf . L'ho visto questa mattina. (Jack Moffitt è l'autore del libro linkato sopra.)

La libreria coinvolti (JavaScript e C implementazioni) è Strophe .

Questa è una zona molto fecondo di esplorazione, ma molto crudo. Vedremo più presto. WebSockets sono dotati di HTML5, è giusto?

JSJaC implementa Nel corso XMPP WebSockets . E 'noto a lavorare con diverse implementazioni backend:

  • node-XMPP-bosh - Supporta RFC6455 e lavora senza problemi in quanto 0.6.1, è anche utilizza in modo trasparente STARTTLS, se necessario
  • WXG - supporta RFC6455 e opere senza problemi, ma non in grado di connettersi ai server che richiedono STARTTLS (WXG originale ha qualche problemi, che sono stati risolti da Gordin).
  • ejabberd-WebSockets - non lo fa supporto RFC6455 quindi non funziona, adattandolo a sostenere RFC6455 dovrebbe essere abbastanza facile per chiunque conoscere Erlang (alcuni lavori in corso può essere trovato su github)
  • Openfire - plug-in non ufficiale è disponibile, ma manca il supporto per RFC6455 quindi non funziona
  • Apache Vysper - fa non supporta RFC6455 quindi non funziona
  • Tigase - non noto lavoro sulla WebSocket Supporto
  • MongooseIM - un fork di ejabberd con il supporto per XMPP su WebSockets.

Non sono sicuro di JS sul lato del browser in grado di gestire il protocollo websocket da solo come per lo più si basano su API del browser. supporto del browser Pochi websocket ancora: Chrome, Safari5, forse Firefox4. Ci sono molte soluzioni alternative basate su Flash / AS3 (quindi i vostri js comunica con il codice istantaneo) il il limite principale è che il flash non supporta la connessione sicura (peccato).

BWT, è possibile controllare questo websocket implem forniscono opensource Java client websocket lib e sembra a che fare con roba XMPP e se si esplora il repository si potrebbe trovare implementazione di base AS3 websocket.

Io non so perché si sta chiedendo specificatamente per una soluzione WebSocket perché i server XMPP dovrebbero sostenere questo primo.

Per quanto ci sono diverse librerie JavaScript XMPP disponibili (per quanto vedo tutti usano il metodo BOSH):

Questi esempi sono stati presi dal href="http://xmpp.org/software/libraries.shtml" rel="nofollow noreferrer"> XMPP

scroll top