CS结构的系统中(.net ,C#),登录5分钟后,如果没有使用系统,则退出当前用户,要求用户重新重录,请问这该如何实现呢?谢谢!
服务器端每次收到Client的请求,验证这个用户是否登录了,如果登录了就更新一下这个用户的最后访问时间.否则向Client发出一条需要登录的信息.
同时,服务器端再设置一个Timer,每2.5分钟检查一次,看有没有谁的上次活动时间是5分钟以前,如果是把它的登录状态改成未登录.
客户端每3分钟向服务端汇报一次
如果是判断用户没有鼠标键盘操作的时间:GetLastInputInfo。这个通常是用于屏幕保护,MSN状态自动切换等场景的。
登陆的时候除了主线程外 在启动另外一个线程(用户检测是否使用系统)
当检测没有使用的时候,调用主线程的方法,让主线程回到登陆的窗体
不过这里有个特别注意的地方就是 启动的线程需要具有主线程中的主窗体的窗体对象,返回登陆窗体的方法也在这个主窗体中