Não Permitir multiplas conexões do mesmo usuario

Estou tendo um probleminha aqui na empresa…

Tenho OpenFire instalado em WS2008R2 com banco em sqlexpress e usuarios do AD, tudo funcionando perfeitamente.

Porém notei que quando estou no spark com meu usuario em minha maquina e entro no xabber(cliente android) no celular e alguem me manda uma mensagem, não recebo nos dois dispositivos. Isso é normal?

Se for assim, teria como não permitir logar de dois dispositivos diferentes ao mesmo tempo?

1 Like

É possivel mas tens de definir o “recurso” com o mesmo nome em ambos os dispositivos.

Depois tens de ir ao menu “Configuração de Servidor” + “Politica de Recursos” e marcar “Sempre Desconectar”.

Assim funciona… o Openfire apenas deixa fazer login um unico recurso, se tiveres dois, quando entrares num, disconecta o anterior.

E configurar para que todos os recursos recebam a mensagem ao mesmo tempo? Tem como fazer?

Marcos Farias

marcos@farben.com.brmailto:marcos@farben.com.br

48 2101-4370

Farben S/A Indústria Química

www.farben.com.brhttp://www.farben.com.br

Antes de imprimir pense na sua responsabilidade e compromisso com o meio ambiente.

De: ruisimoes communityadmin@igniterealtime.org

Enviada em: quarta-feira, 12 de fevereiro de 2014 17:10

Para: Marcos Farias

Assunto: - Não Permitir multiplas conexões do mesmo usuario

Ignite Realtimehttp://community.igniterealtime.org/index.jspa

Não Permitir multiplas conexões do mesmo usuario

created by RuiSimoeshttp://community.igniterealtime.org/people/ruisimoes in Brasil - View the full discussionhttp://community.igniterealtime.org/message/235848#235848

Acho que já percebi… queres receber a mensagem em ambos os equipamentos… isso nunca tentei… aqui na empresa tenho o bloqueio para que quando um utilizador faz login noutro local, disconecte o que estava ligado.

Não, no caso de eu estiver conectado com dois dispositivos (celular e computador), quando alguém abre um chat comigo, não recebo as mensagens deste alguém nos dois dispositivos. Ou recebo em um ou recebo no outro. Isso utilizando o mesmo login.

Marcos Farias

marcos@farben.com.brmailto:marcos@farben.com.br

48 2101-4370

Farben S/A Indústria Química

www.farben.com.brhttp://www.farben.com.br

Antes de imprimir pense na sua responsabilidade e compromisso com o meio ambiente.

De: ruisimoes communityadmin@igniterealtime.org

Enviada em: quarta-feira, 12 de fevereiro de 2014 17:58

Para: Marcos Farias

Assunto: - Não Permitir multiplas conexões do mesmo usuario

Ignite Realtimehttp://community.igniterealtime.org/index.jspa

Não Permitir multiplas conexões do mesmo usuario

created by RuiSimoeshttp://community.igniterealtime.org/people/ruisimoes in Brasil - View the full discussionhttp://community.igniterealtime.org/message/235855#235855

1 Like

Estou com este mesmo problema,

conseguiu alguma solução Marcos ??

Pessoal, estou aprendendo a tecnologia xmpp, mas verifiquei que esse problema é resolvido com configurações de prioridades pelos dispositivos.

Exemplo, eu conecto uma aplicação web e outra mobile, ambas com prioridade setada 127, as mensagens serão enviadas pelo servidor para ambos os dispositivos, pois tem a mesma prioridade. O valor da prioridade varia de -128 a 128. se eu setar o web com 127 e o mobile com 128, as mensagens irão para o mobile, caso os dois estejam conectados, ou seja para a prioridade maior. Cada recurso deve ter um nome diferente pra isso funcionar, caso contrario, quando uma entra o outro cai. Na lista de sessoes do openfire da pra ver o nome do recurso e a prioridade de cada recurso. Cada dispositivo deve ter um local de setar a prioridade, no caso de uma implementação, usar public void setPriority(int priority).

Não tenho muita prática com isso tudo, mas mesmo sendo iniciante, ja testei isto e funciona.

1 Like

Boa tarde!

E como você fez para conectar via mobile? Está usando wifi ou o servidor está de cara para o mundo?

Aqui na empresa, o uso é interno, mas queria que os celular de alguns funcionasse.

Dê uma dica, por favor.

Abraço.

Você precisa de um ip fixo de internet e configurar o seu firewall para redirecionar a porta 5222 para o servidor do openfire.

Achei melhor não permitir logar em dois dispositivos ao mesmo tempo, então ao configurar o celular coloco o mesmo nome na configuração “resource” do cliente que uso que é Spark 2.6.3, sendo assim ao conectar com o celular, o servidor derruba a conexão com o Spark na maquina.

Mauricio, Boa Noite!

Também estou com o mesmo problema do marcos, pelo que entendi você conseguiu fazer com que as mensagem encaminhadas para um cliente web (spark) também fossem encaminhadas para um cliente móvel, definindo uma prioridade igual para os dois. Em qual opção no servidor open fire é possível editar essa prioridade, isso foi possível com o script que você publicou em anexo?

Willian, desde março não trabalho mais com esta tecnoçogia, graças a Dilma, fui demitido e não tenho mais acesso ao projeto que trabalhava com XMPP, e o projeto morreu na empresa que trabalhava, todos foram demitidos, e não tenho como lhe responder precisamente sua dúvida. Pesquise sobre prioridades, pois na implementação do XMPP tem como voce utilizar o método setPriority para os resouces. Leia o que escrevi na resposta acima e pesquise sobre isso. Não lembro muito como se faz isso, pois estou enferrujando na tecnologia. Boa sorte.

@Mauricio,

Sua informação me esclareceu muito.

colocar o mesmo nome de recurso, faz com que o spark derrube uma das conexões. talvez a mais ociosa, estou testando ainda.

Eu coloquei o celular na mesma prioridade que o celular, prioridade “1” porém mesmo assim só um equipamento recebe. Eu teria que colocar o valor específico “127”? No spark, não tem essa opção, somente é possivel alterar o nome do recurso.

Olá, amigo basta ir a consola e propriedades e adicionar (route.all-resources) e meteres como (true)…

Eu tive esse mesmo problema, mas tive que fazer várias alterações, mas como os meus utilizadores usam apenas um cliente e é cliente web não tive muitos problemas.

Apenas funciona com o estado prioridade 8… todos que tiverem o estado ausente, ocupado, e outros não vão receber as mensagens em todas as sessões abertas.

Para isso funcionar terias que alterar toda a configuração do Openfire para funcionar como por exemplo o chat do facebook.

Eu apenas configurei o cliente e dizendo que todos os estados (ocupado, ausente etc) enviam com prioridade 8, ou seja DND<prior…>8…

Se souberem outra forma simples em alterar no servidor que funcione bem digam…

Mas acho que é um recurso que vai gastar muito recurso da máquinha-servidor.