c/s结构
 
我想让同一个工号 在不同的机器上不能同时登陆怎么处理(sql server 数据库服务器)
例如
    有一个工号 为001的用户,在一个机器上登录之后,在其他的机器上如果在使用这个工号
同时登陆的话会自动的断线或者提出警告已经有用户登陆了。
谢谢

解决方案 »

  1.   

    在数据库里建个表,每个工号访问的时候将状态字段置为true,退出置为false,然后在程序运行前访问这个表
      

  2.   

    用socket,当登陆时,服务器判断该用户是否在线。这样可以解决客户端异常关机的问题。
      

  3.   

    如果网络出问题,或者用户非法关闭,数据库监测不到。用户在登陆就登陆不上了。
    如果用socket则,还得在服务器端还得加上程序
      

  4.   

    如果不用socket,
    服务器定时想客户端发送询问,若得不到回答,则判断断线。客户端加段回应的小代码。
      

  5.   

    单用一个Field或一个登陆登记表是很难准确判断用户是否真正在线的,最好再加个Socket进行判断。