i am making an application in which admin can forcefully log out the online user .
because only one user can login only one time by using same id and password
so my database design is like this table name:user maintenance
colunm name is
userid: flag : logintime :logouttime
algorithms for this is like
1) by default flag is 'y' so when user going to login check it is set to 'y' or when it is log out it will set to 'N'
2)after session time out to set flag i am using listener which set the flag automatically 'Y' after session time out
3) so for me online user = select * from usermaintenance where flag = 'N' which will be seen to admin
but my doubt is that some user directly close the browser and go , so he actually not online but he will be count as online because flag for them is still set to 'N'
SO My concern is that how any java/j2ee approach we can differentiate between real online and such user which can close the browser