如果该用户死机了,我怎么判断他已经不在线呢?

解决方案 »

  1.   

    1:判断sql 的连接数(这必须你的每个客户端程序只有一个连接数,才能正确统计出在线多少个客户端,客户端死机后,也要过一段时间才能释放服务器端的连接)2:客户端在线时实时通知服务器自己在线,(这样可以做到比较及时,但是耗用更多资源)
      

  2.   

    那就是需要sqlserver服务器每隔一段时间就判断该用户是否有发送消息过来了。如果没有发送消息过来就将其状态改为离线。
    但是这样做对服务器的负荷会不会很大?
      

  3.   

    我们的软件要统计用户每天的在线时长,我们要求用户每天用我们的软件时间不能少于2个小时。
    用一个表记录其使用情况:
    Userid,upTime,downTime上线时加一条记录,下线时写上downtime。就可以统计在线时长了。
    但是如果他掉线了,就没有办法写上downtime了,那么只能由服务器来检查他是否掉线,写上这个downtime。我就想找个简单有效的方法检查他是否掉线了。delphi做的应用程序+Sqlserver数据库,服务器端不能有应用程序,只能在数据库里设置检测程序。