比如加一个表:用户名,连接IP,最近活动时间
----------------------用户名用来判断重复登陆,
连接IP用来踢人(如果需要),
如果’最近活动时间‘超过20分钟,也可以认为用户断线了。

解决方案 »

  1.   

    用了桌面程序就不要照搬web那套东西了
      

  2.   

    用了桌面程序就不要照搬web那套东西了
      

  3.   

    你的winform程序是单机版的吧。没有服务器端的程序吧?
    如果你想解决重复登录问题,加上服务器端(远程调用使用webservice,remoting,wcf都可以)
    c与s之前你可以保持一定时间心跳一次,如果达到几次都没有心跳,那就视c掉线了
    而登录时只需要取一下服务器端的session列表,判断一下就知道了。
      

  4.   

    在数据做个触发  ,即使清理 N分钟内无动作的ID
      

  5.   

    是否可以这样实现:
    建一个用户登录在线表,字段信息包含:userid,mac地址等,每个用户成功登录时都将此用户的用户id和电脑mac地址存在表里,然后在主窗口添加一个timer,可以设置为每10s钟检测此用户本机器的mac地址是否等于数据库的mac地址。如果此账号在其他电脑上登录了,检测mac地址的时候就肯定出问题,然后谈窗口报错。