解决方案 »

  1.   

    服务包含LoginIn,LoginOut方法,用于网站或者客户端调用
    网站和客户端定时调用LoginIn方法
    服务端内部开线程定时轮询最后一次交互时间,如果超出允许时间,则认为意外下线,从在线中移除
    如果可控的退出登录,则调用LoginOut方法这只是一个简单的思路,实际肯定要复杂的多,然后还要考虑你们允许的误差情况
      

  2.   

    在线统计存在的可能性太多,个人认为如果想精确的统计的话服务器和客户端必须做成长连接。服务器定时向客户端发送心跳包,如果客户端能回应说明在线,如果客户端不能回应说明不在线。cs客户端好说,浏览器的话 可以考虑websocket,signaler等技术实现一下。
      

  3.   

    对于web登录的,意外下线要想做精确貌似不太好弄吧