C/S 模式 如何让 一个帐号登录后 就不能在其他机子登录 即如何避免重复登录 给个思路 谢谢o(∩_∩)o...哈哈 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 sql server 的话建一个用户名命名的临时表,不过这样感觉是不大好.三层就比较好点,可以用session来管理 楼上,我就偷懒,使用的sql数据库,用户登录建立用户名命名的全局临时表来控制...session 用额外的数据表控制user_id login_machine登录时先检测是否存在已登录的同名用户,如有,检测是否在线。退出时清除表中的数据 if 状态=未登录 thenbegin 状态:=登录; MAC地址:=客户端MAC地址;endelse if MAC地址=客户端MAC地址 thenbegin 状态:=登录;endelse showmessage('不能登录');正常退出时清空状态和MAC地址 主要问题是处理异常下线的情况,处理方法如下: 使用MAC地址作为标记,在账号表中增加是否在线的字段和MAC地址字段,在上下线时判断和改变状态值. 当S端发现有登录请求时,先查一下这个账号状态是否在线,如果在线就与这个账号的MAC地址进行通讯,如果C端有返回值就表示当前的登录是同账号的二次登录,如果无返回值,就说明当前的状态值是异常掉线导致的.立即更正并允许当前的账号登录. 因此需要先假定好应答内容,当S问C是否在线时C要回答什么. 鼠标放控件上,没有提示控件名? 关于dbgrideh的一个小问题~~ 关于MainMenu的问题 两个SQL哪个快 请教ehlib的安装问题 一个增加记录的问题 关于API 如何用SQL语句创建一个有小数字段的表,小数格式为两位小数,默认值为零(ACCESS数据库)?谢谢各位! 怎么让网页能显示DLL文件 没法SHOW出窗口了????????? 在中间层 TRemoteDataModule中创建方法的问题 图形选中问题
session
user_id login_machine登录时先检测是否存在已登录的同名用户,如有,检测是否在线。
退出时清除表中的数据
begin
状态:=登录;
MAC地址:=客户端MAC地址;
end
else if MAC地址=客户端MAC地址 then
begin
状态:=登录;
end
else
showmessage('不能登录');正常退出时清空状态和MAC地址
使用MAC地址作为标记,在账号表中增加是否在线的字段和MAC地址字段,在上下线时判断和改变状态值.
当S端发现有登录请求时,先查一下这个账号状态是否在线,如果在线就与这个账号的MAC地址进行通讯,如果C端有返回值就表示当前的登录是同账号的二次登录,如果无返回值,就说明当前的状态值是异常掉线导致的.立即更正并允许当前的账号登录.
因此需要先假定好应答内容,当S问C是否在线时C要回答什么.