日期:2014-05-17  浏览次数:21074 次

C#winformC/S多线程应用程序重复登陆时,后面的用户如何将前面的用户T下线
通过消息的方式,出现重复登陆时,先登陆的用户已经能收到服务器发的消息,现在的问题是先登陆的用户收到消息后,如何退出主程序,并且重新进入登陆界面

------解决方案--------------------
登录成功后得到一个token,再次访问数据时用token去比对,如果同一个用户的token不一样,就把此用户的其他token下线

token-->就是令牌访问,每次登录都会得到一个token,登录以后,再次访问其他数据就使用这个token
------解决方案--------------------
如果你用的是sqlserver数据库,你可以利用依赖缓存SqlDependency,当你的登录数据发生更改是数据库主动通知你的程序,然后你就可以自动退出的.

麻烦一点的可以使用UDP广播,侦听.每次登录后就发个广播,收到广播的对比下看是否退出

每次访问数据库都加个token我是不喜欢的