Eu não recomendaria usar esse tipo de coisa (2 conexões vindo do mesmo endereço = mesmo cliente). Isso é porque você pode ter, por exemplo, dois clientes distintos que estão atrás de um NAT e vão aparecer para você como se fossem o mesmo endereço, o que irá ser bastante prejudicial, na verdade.
Em vez disso, veja se a identidade do usuário é a mesma (você precisa ter uma transação de login, é claro). Se for a mesma, derrube o usuário (negando o login,por exemplo).
nebster
um bom exemplo a ser seguido é login e senha para acessar o sistema de socket.
SirDominque
entanglement:
== para comparar strings? ??? Você faltou às aulas iniciais de Java
Eu sei rapaz, é que respondi correndo.
Desculpa pela falta de atenção.
SirDominque
entanglement:
Eu não recomendaria usar esse tipo de coisa (2 conexões vindo do mesmo endereço = mesmo cliente). Isso é porque você pode ter, por exemplo, dois clientes distintos que estão atrás de um NAT e vão aparecer para você como se fossem o mesmo endereço, o que irá ser bastante prejudicial, na verdade.
Em vez disso, veja se a identidade do usuário é a mesma (você precisa ter uma transação de login, é claro). Se for a mesma, derrube o usuário (negando o login,por exemplo).
È verdade.
Bom, vou fazer isso que voce disse… Pq na verdade ja tenho um sistema de login
Valeu Entanglement
E
entanglement
Só uma coisinha… como é que você permite que o cliente se conecte de novo?
a) Se ele executar uma transação de logout, a conexão é derrubada, a sessão dele é limpa e ele pode se conectar de novo
b) Se ele ficar inativo por muito tempo, ou se o socket cair, a sessão dele é limpa e ele pode se conectar de novo
c) Se ele já estiver conectado, pode derrubar a sessão que já está em curso.
c) Se ele já estiver conectado, você pode derrubar a OUTRA sessão - já vi muita gente pedir para fazer isso, e acho interessante se a detecção de conexão derrubada demorar muito para acontecer (isso é costumeiro se você não tiver uma transação de heartbeat no seu protocolo, já que a detecção de conexão derrubada do protocolo TCP é bastante lenta e não muito confiável).
A mensagem típica é “Parece que você já está conectado no endereço XX.XXX.XXX.XXX. Deseja desconectar a outra sessão e continuar com esta? S/N”.
SirDominque
entanglement:
Só uma coisinha… como é que você permite que o cliente se conecte de novo?
a) Se ele executar uma transação de logout, a conexão é derrubada, a sessão dele é limpa e ele pode se conectar de novo
b) Se ele ficar inativo por muito tempo, ou se o socket cair, a sessão dele é limpa e ele pode se conectar de novo
c) Se ele já estiver conectado, pode derrubar a sessão que já está em curso.
c) Se ele já estiver conectado, você pode derrubar a OUTRA sessão - já vi muita gente pedir para fazer isso, e acho interessante se a detecção de conexão derrubada demorar muito para acontecer (isso é costumeiro se você não tiver uma transação de heartbeat no seu protocolo, já que a detecção de conexão derrubada do protocolo TCP é bastante lenta e não muito confiável).
A mensagem típica é “Parece que você já está conectado no endereço XX.XXX.XXX.XXX. Deseja desconectar a outra sessão e continuar com esta? S/N”.
Falta eu fazer isso aqui :
c) Se ele já estiver conectado, você pode derrubar a OUTRA sessão - já vi muita gente pedir para fazer isso, e acho interessante se a detecção de conexão derrubada demorar muito para acontecer (isso é costumeiro se você não tiver uma transação de heartbeat no seu protocolo, já que a detecção de conexão derrubada do protocolo TCP é bastante lenta e não muito confiável).
A mensagem típica é “Parece que você já está conectado no endereço XX.XXX.XXX.XXX. Deseja desconectar a outra sessão e continuar com esta? S/N”.