登陆只让登陆一次,欢迎讨论~绝对不是放放分~~ (100分)

N

Nizvoo

Unregistered / Unconfirmed
GUEST, unregistred user!
环境
Oracle 805 Enterprise
Delphi 5.0 Enterprise

有一张登陆信息表

如何让登陆的用户只登陆一次,欢迎讨论。
集思广议(益),开拓思维。

比如A客户端已经使用Amy登入系统
那么B客户端就不能使用Amy登入系统
 
你也散分啊??

UUUUUp
 
集思广益
开拓思维
怎么有人说我放分?
 
捡分,这种问题还用问。
 
解决方法很多,还得考虑出错的可能性存在。
 
呵呵。继续讨论吧。每日一题。
 
我从来都是把登陆信息放在注册表中的,放在库中慢。
 
各位我少写一点。
比如
A客户端已经使用Amy登入系统
那么B客户端就不能使用Amy登入系统

 
是要求不重名吧?在数据库中建个当前用户表不行吗?
 
突然掉电的情况如何处理?
 
客户登记表(就是登记Amy用户和密码的表)有登陆标志,登陆后置登陆标志,退出时复位。
登陆时判断用户是否已经登陆就可以限制了。但这种方式会照成用户作废,就是但程序有异
常退出时,没有复位标志,这样这个用户就再也不能登陆了。
 
所以我开贴集思广议。
我的做法是做个服务器程序,2秒钟刷新一次。
已经登陆列表进行更新2秒。
所以我客户端进行登陆时先取数据。
 
掉电?当然是用UPS解决了:)
如果用的是SQL Server的话你看看孤立会话
 
不说掉电,如果一不小把它强制结束,我是指在客户端。那么数据表还来不及更新啊。
服务器掉电可以处理。
 
孤立会话
客户端可能会突然切断与服务器的连接,因而客户端进程无法告知网络正确关闭连接。
这可能由于许多原因而发生,包括客户端的电源故障。Microsoft® SQL Server™ 2000
并不事先探测客户端连接的状态。而是依赖 Microsoft Windows NT® 在某连接需要终止或
关闭时通知它。Windows NT 在 TCP/IP 的 KeepAliveTime 或 NetBios 的 SessionKeepAlive
持续时间内,监视连接并持续向 SQL Server 报告连接为活动的,该操作将影响命名管道客户端。
SQL Server 继续令客户端拥有的锁保持活动,直到取消这些锁,或 Windows NT 终止或关闭该连接。
Windows NT 周期性地检查非活动的会话以确保它们是活动的。如果某个会话不响应,则将它关闭并
通知 SQL Server。检查的频率视网络协议和注册表设置而定。但是根据默认,Windows NT 每一个或
两个小时只执行一次检查,视所用的协议而定。这些配置设置可以在注册表中更改。
详细的查查SQL Server的帮助吧
 
再写一个触发器,清除用户信息
 
定时清除服务器端用户信息吧。
客户端这儿也要应该发送用户信息到服务器端去。
 
登录不是由服务器来验证吗,从验证开始,每隔一定时间往服务器发一定消息,超过几次没有收到消息就是掉线了!
 
对。应该还有些法子。
向上顶顶,一家之见,虽良言,但集大家之言,更佳。
我搜了一下,以前没讨论过。
大家就把法宝拿出来吧。呵呵呵
 
顶部