WinForm+DB架构账号单一在线设计方案
与传统的C/S架构不同,Winform+DB架构只有一个客户端和一个数据库服务器,没有所谓的Server,一般这样的程序设计之初就没有考虑要在中间加个服务器。
如何在纯Winform+DB架构下实现单一在线功能呢?
一.在数据库中的某个表中 加一个字段“online”,online=“Y”表示已有用户登录,online=“N”表示没有用户登录。客户端程序每次登陆时读取字段online信息,只有online=“N”才允许登陆,并将online改为“Y”;程序结束时,再将字段改回“N”。(当一个客户端登陆,那么它将霸占这个账号,同时如果客户端非正常退出,那么这个账号就会永远处于“已登陆”状态,无法继续使用。)
二.同样是加了上述字段,但是“N”和“Y”不表示账号“是否被占用”。在客户端增加一个方法,客户端登陆立即修改online字段(假如原来为“N”)为“Y”,用一个变量存储这个“Y”。这个方法每隔一小段时间读取一次字段信息,如果字段信息与本地存储的不同则退出客户端。(读取时间间隔要够短,否则。。。。。)
三.同上,online 存储 随机生成的唯一识别码。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。