Existe uma abertas WebSockets fonte biblioteca (JavaScript) XMPP? [fechadas]

StackOverflow https://stackoverflow.com/questions/1850162

  •  13-09-2019
  •  | 
  •  

Pergunta

Alguém escreveu uma biblioteca XMPP código aberto que usa WebSockets e destina-se a ser executado por um navegador?

Foi útil?

Solução

Nós ainda não temos um padrão para XMPP sobre WebSockets que o servidores pode implementar, que serão necessários antes lado do cliente pode ser combatida de forma adequada.

O primeiro passo é terminar WebSocket padronização. Parece que isso pode acontecer em um grupo de trabalho IETF HyBi, que no momento da escrita ainda não foi aprovado pelo IESG. Houve um HyBi Pássaro-de-um-Feather (FPB) no Hiroshima IETF reunião um par de semanas atrás (ver o materiais de reunião ), que foi muito bem.

Depois de WebSockets tem uma referência estável, e parece estar estabelecendo-se, a XSF irá criar uma XEP que se liga a XMPP WebSockets, presumivelmente com um sub-rotina por WebSocket quadro.

Edit: Jack Moffitt escreveu um IETF Internet-Projecto com uma primeira passagem a um protocolo que pode ser usado. AVISO . Este ainda é provável que mudar drasticamente. Apenas implementá-lo se você estiver disposto a arrancá-la completamente mais tarde. AVISO .

Outras dicas

Existem várias soluções (nenhum deles é perfeito)

1. Use Kaazing.

Eles já apoiá-lo. É open source, mas eles têm algum tipo de licença dupla , então é melhor verificar se você pode usar para seu projeto ou não.

2. Combine js.io e APE (Ajax push Engine)

APE é uma estrutura Comet, mas recentemente começou a apoiar Websockets. No seu site (seção "APE como proxy"), eles dizem que pode executar bibliotecas js.io que inclui xmpp.js, assim combiná-los pode funcionar.

3. Use Caucho

É uma estrutura baseada java semelhante ao APE que fornece balcão único solução Comet, e eles parecem apoiar tanto XMPP e WebSockets

4. Pergunte a equipe Strophe para WebSocket apoio.

Strophe faz XMPP sobre BOSH (bidirecional-córregos Ao longo Synchronous HTTP), mas não há uma discussão sobre o apoio WebSockets também.

Jack Moffitt (o desenvolvedor do núcleo e o autor do livro mencionado acima) parece interessado em WebSockets, mas precisamos fornecer mais forte argumento sobre por que eles precisam para apoiar WebSocket sobre BOSH. Se você tem boas respostas, por favor, junte-se a banda de rodagem.

Eu apenas tentei sua xmpp, parvoíce, strophe exemplo echobot , que funcionou muito bem. Você também pode querer experimentá-lo para ver se ele se adapta à sua exigência ou não.

Para # 2 e # 3, que dizem que ambos suporte XMPP e websockets, mas não tenho certeza se eles trabalham juntos.

Que tipo de aplicativo que você está pensando em usar XMPP & WebSockets para?

A seguir são sugestões para alternativas.

  • Se você quer a presença, bate-papo, sala de chat funcionalidade equivalente, você poderia fazer Onda Gadget ou do robô, em seguida, expor a parte externa usando Ondas Embed API (link morto, mantidos para fins históricos). Onda é realmente construído em cima do XMPP.
  • Se você está simplesmente à procura de capacidade de mensagens de latência muito baixa, você poderia tentar AMQP .
  • Se você estiver olhando para a mensagem muito mais simples de streaming, você pode simplesmente tubo de in / out arquivo UNIX como eu demonstrei aqui .

Eu tenho a maioria das informações acima, quando eu escrevi este post . Se você verificar o tempo de seção de comentários em quando, vou postar atualização uma vez que eu encontrar outras soluções.

Há um livro em breve, que abrange este tema ...

Professional XMPP com JavaScript e jQuery alt texto http://ecx.images-amazon.com/images/ I / 51B7VAHw8OL._SL500_AA240_.jpg

Mas eu estou supondo que você não quer esperar para o livro. Então assista apresentação de Jack Moffitt de JSConf . Eu assisti-lo esta manhã. (Jack Moffitt é o autor do livro relacionado acima.)

A biblioteca envolvidos (JavaScript e C implementações) é Strophe .

Esta é uma área muito fecundo de exploração, mas muito cru. Vamos ver mais em breve. WebSockets vêm com HTML5, não é mesmo?

JSJaC implementos XMPP mais de Websockets . É conhecida a trabalhar com várias implementações de back-end:

  • nó-xmpp-Bosh - suporta RFC6455 e obras sem problemas desde 0.6.1, também transparente usa STARTTLS, se necessário
  • WXG - suportes RFC6455 e obras sem problemas, mas não pode se conectar a servidores que requerem STARTTLS (WXG original tem alguns questões, que foram corrigidos pelo Gordin).
  • ejabberd-websockets - não apoio RFC6455, portanto, ele não funciona, adaptando-o apoio RFC6455 deve ser muito fácil para qualquer um saber Erlang (algum trabalho em andamento podem ser encontradas no github)
  • Openfire - plug-in não oficial está disponível, mas que carece de apoio para RFC6455, portanto, ele não funciona
  • Apache Vysper - faz não apoio RFC6455, portanto, não trabalho |
  • Tigase - não conhecido trabalho em WebSocket suporte
  • MongooseIM - um fork do ejabberd com suporte para XMPP sobre Websockets. |

Eu não tenho certeza JS no lado do navegador pode manipular o protocolo WebSocket sozinho, uma vez que na sua maioria dependem de API browser. Poucos suporte ao navegador WebSocket ainda: Chrome, Safari5, talvez Firefox4. Há muitas soluções alternativas baseadas em flash / as3 (então seu JS comunica com código flash) o a principal limitação é que o Flash não suporta conexão segura (muito ruim).

BWT, você pode verificar este websocket implem eles fornecem opensource Java lib cliente websocket e parece para lidar com coisas XMPP e se você navegar pelos repositórios que você pode encontrar implementação básica as3 websocket.

Não estou certo por que você está perguntando especificamente para uma solução WebSocket porque os servidores XMPP teria que apoiar esta em primeiro lugar.

No entanto, existem vários XMPP JavaScript bibliotecas disponíveis (tanto quanto eu que todo o uso o método BOSH ver):

Esses exemplos foram retirados do XMPP site que lista implementações de código aberto do protocolo XMPP .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top