Olá a todos!!
Tenho um servidor multi-usuário que armazena em um Map objetos socket e usuario!!
Porém, quando encerro alguma conexão, o servidor não tem o controle de remover. Tentei fazer algo assim:
Cara… não ficou bem explicado o que você quer, mas acredito que você tenha que dar um
socket.close();
antes de sumir com a referência da conexão. Seria isso?! =/
Espero ter ajudado. Até.
M
mrsmylle
É um chat!!
Bem, é que estou armazenando os usuários que estão conectados!!Assim, quando um usuário sair ou encerrar a conexão, queria automaticamente o servidor, removesse o usuário da lista!!Por enquanto, esta lista está no meu server!!
Preciso que o servidor removesse o usuário da lista, assim que o usuário fechar ou encerrar a conexão!!
D
dmarcosm
Bem… nesse caso, você terá que colocar um tratamento na tela do seu usuário e modo a verificar se ele apertou o botão sair ou fechou o sistema/browser pelo “X” do canto superior direito.
Neste momento você pode disparar um evento, via AJAX por exemplo no caso de uma aplicação WEB, informando o servidor que o usuário desconectou. Daí você executa o “close()” e retira a referência da lista.
Outra maneira de se fazer isso seria criando uma “Task” no sistema que de tempos em tempos, verifica todos os usuários da lista, removendo os que estão inativos.
De qualquer modo, acredito que você terá que chamar o método “close()” em algum lugar. Caso contrário, acho que a conexão continuará ativa no servidor.
Espero ter ajudado. Até.
M
mrsmylle
Não é web não!!
Task??Hum!!
Vou dar um pesquisada!!
Obrigado por enquanto!!