做了一个C/S结构的系统.客户端和服务器端登录后将登录信息都写到服务器端的数据库里.以防止同一用户在不同地方同时登录;(用户退出时在主窗体的destory事件里删除该退出用户在服务器端的登录信息);
可是当客户端非法关机或非正常关闭我做的这个系统时,写在数据库里的该机器的相关信息不会被删除;出现当用户重新打开时某用户不能登录问题(数据库里该用户信息没有被删除的问题);请问如果解决此问题.谢谢!!

解决方案 »

  1.   

    dabaicai(小老头) 
    你要想这样处理的话,就必须在客户端连接之后每隔一定时间去检查其连接状态(由于有局域网地址,
    请问:除了这种方法如果想实现我上述问题的话还有哪种方法吗?您说的这种还是不能解决我的问题吧???
      

  2.   

    比如你用TCP做一个连接,在你的客户端程序里面,主程序建立就开一个线程,连接服务器端(由于用户已经登录,你可以通过TCP把客户端用户用个包发给服务器端),服务器端被连接并收到这个包,将该用户的状态改为在线,客户端无论在什么异常情况下,只要主程序被关闭,TCP连接线程都会关闭,服务器都能够知道谁离开(就像聊天工具用户上下线,好友都知道一样)
      

  3.   

    比如你用TCP做一个连接,在你的客户端程序里面,主程序建立就开一个线程,连接服务器端(由于用户已经登录,你可以通过TCP把客户端用户用个包发给服务器端),服务器端被连接并收到这个包,将该用户的状态改为在线,客户端无论在什么异常情况下,只要主程序被关闭,TCP连接线程都会关闭,服务器都能够知道谁离开(就像聊天工具用户上下线,好友都知道一样)
    ___________________________________________________________________________________这招不错