Ticket #2303 (new melhoria)
Opened 12 years ago
Implementação de XMPP Ping nos módulos do Expresso Messenger
Reported by: | lucas.carraro | Owned by: | ninguem |
---|---|---|---|
Priority: | normal | Milestone: | Backlog do Produto |
Component: | ExpressoMessenger | Version: | |
Severity: | média | Keywords: | |
Cc: | WorkGroup: |
Description
Conforme discutido na lista.
Fala pessoal, Bom dia,
A extensão de ping para o XMPP pelo que eu entendi foi feito para resolver alguns problemas.
- Usuários que não estão mais online mas o cliente só descobre quando envia uma mensagem para ele. O caso do falso online que acontecia bastante no ICQ ( putz tou ficando velho :-) )
- Existem certos tipos de firewall em que se não é mandado nenhuma informação por um tempo ele fecha a conexão ( Este negócio funcionaria tipo um keep alive )
- Uma proteção conta DoS já que se o cliente não responde o servidor pode detonar a conexão dele.
- Diminuição da carga sobre o servidor já que ele mataria inativos.
Nilton, o problema acontece com os 2 messengers ( Applet e BOSH).
Eu fiquei curioso pra saber se este negócio era compatível com BOSH e acabei achando um cliente XMPP BOSH , JWChat e vi que esta extensão é válida para BOSH também. Aliás muito bom o JWChat
Alexandre você acha que seria possível implementar isto nos módulos de XMPP do Expresso ? Posso criar um ticket ?
Se eu desabilito o "mod_ping" aqui no meu caso, o meu firewall fica chutando as conexões dos clientes a toda hora. Aqui o pessoal usa de tudo como cliente. O mod_ping pelo que parece funciona legalzinho com a maioria dos clientes.
Em 28-10-2011 10:08, Alexandre Luiz Correia escreveu:
Lucas ..
Como o Nilton disse nos usamos a versão 2.1.0 do ejabberd, mas não foi habilitado o uso deste módulo (mod_ping). Veja nesta lista os protocolos implementados www.ejabberd.im/protocols.
Quanto a este modulo, verifique no manual ( www.process-one.net/docs/ejabberd/guide_en.html#htoc51 ) a sua configuração. Este modulo é uma implementação da especificação XEP-0199 (xmpp.org/extensions/xep-0199.html ).
Sugiro que vc desabilite este módulo ping do ejabberd, pois se o servidor ficar enviando ping para os clientes conectados para assim verificar se o mesmo esta conectado ou não, este fluxo xml não está sendo tratado para enviar a resposta, consequentemente as conexões serão finalizadas.
Só lembrando que o modulo feito em java do expresso messenger usa os recursos da propria maquina para fazer a conexão e modulo sem java utiliza o BOSH, ou seja a conexão do primeiro só é finalizada ( em condições normais ) quando é fechada e a do segundo quando a conexão não foi feita dentro do limite especificado.
Habilitar este modulo para ficar enviando ping, acho desnecessário neste momento.
Alexandre Correia
Em 28/10/2011 às 08:49 horas, infra@… escreveu:
Lucas,
Usamos o Ejabberd 2.1.0 aqui, mas não temos o mod_ping habilitado. Sabe me dizer como o Ejabberd se comporta sem este módulo? Outra pergunta: O mesmo acontece para a versão SEM JAVA do Expresso Messenger?
Att, Nilton
Em 27/10/2011 às 21:32 horas, infra@… escreveu:
Olá a todos,
Boa noite No meu ejabberd estava configurado: ejabberd.cfg
{mod_ping, [{send_pings, true}, {ping_interval, 240}, {timeout_action, kill}]},
E estava acontecendo um comportamento esquisito. Os clientes utilizando o
Expresso Messenger ( Applet e javascript/AJAX ) eram desconectados em 4 minutos sem uso.
Troquei para:
{mod_ping, [{send_pings, true}, {ping_interval, 240}, {timeout_action, none}]},
E as desconexões pararam de acontecer. A minha pergunta é o applet não suporta este ping xmpp ? Seria fácil de implementar ?