首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
Delphi
VCL组件开发及应用
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
C/S系统中,限制用户数,大家是如何做的呢?
加为好友
发送私信
在线聊天
net_morning
矿泉水
等级:
可用分等级:
长工
总技术分:
622
总技术分排名:
27703
揭贴率:
83.73%
发表于:
2008-04-28 10:19:38
楼主
比如,5用户系统,最多可以5个人使用。
问题点数:
30
回复次数:
33
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
chenzhuo
灼
等级:
可用分等级:
富农
总技术分:
9934
总技术分排名:
1927
发表于:
2008-04-28 10:32:04
1
楼 得分:
0
增加一个数据库登陆名称,例如MIS,程序通过这个登陆名进入系统
通过sp_who统计loginname字段MIS的记录有多少条?
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
liangpei2008
笑青天
等级:
可用分等级:
贫农
总技术分:
21420
总技术分排名:
535
发表于:
2008-04-28 10:41:23
2
楼 得分:
0
1.在用户登陆表中加一个当前是否在线的字段
2.每次登陆统计在线人数, <5 退出
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
gjw310
叶落归根(不懂找伴水)
等级:
可用分等级:
富农
总技术分:
2602
总技术分排名:
8154
发表于:
2008-04-28 10:41:25
3
楼 得分:
0
数据库中设置个temp表,放置个用户数字段,每次登陆连接时先读取判断,若大于5则提示用户连接已满,若小于5则加1再回写到数据库
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
gjw310
叶落归根(不懂找伴水)
等级:
可用分等级:
富农
总技术分:
2602
总技术分排名:
8154
发表于:
2008-04-28 10:42:12
4
楼 得分:
0
当然读取时要获取独占表的权利
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zhaozhen2004
圣骑士
等级:
可用分等级:
富农
总技术分:
1844
总技术分排名:
11331
发表于:
2008-04-28 11:02:16
5
楼 得分:
0
study
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
xxmmmx
踢踏
等级:
可用分等级:
小地主
总技术分:
17911
总技术分排名:
702
发表于:
2008-04-28 11:38:59
6
楼 得分:
0
放在数据库中判断用户连接数,很容易被破解吧?
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
yagzh2000
北星南剑
等级:
可用分等级:
中农
总技术分:
166
总技术分排名:
66836
发表于:
2008-04-28 11:44:29
7
楼 得分:
0
用Socket就行了,做个服务端,如果有5人在线就限制
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
ziping
子平
等级:
可用分等级:
掌柜
总技术分:
634
总技术分排名:
27311
发表于:
2008-04-28 15:08:59
8
楼 得分:
0
C/S的话放到数据库里面做记录还是比较方便,要处理的好那就做服务端了,看你的要求是怎么样了。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
pengxuan
网虫先生
等级:
可用分等级:
富农
总技术分:
11782
总技术分排名:
1549
发表于:
2008-04-29 10:10:52
9
楼 得分:
0
服务器数据表中记录在线人数
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
SWind
诸行无常
等级:
可用分等级:
小地主
总技术分:
668
总技术分排名:
26290
发表于:
2008-04-29 10:24:46
10
楼 得分:
0
大部分会用数据库 但是用数据库会存在一个问题 某君网断了 它占了一个用户数 但实际上他并没使用 这样累积下来确实很头疼
如果有条件 可以用socket 客户端始终要与socket服务器保持连接 断掉服务器上连接数就减1 客户端就要求重新登录
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
dgdba
dbdga
等级:
可用分等级:
中农
总技术分:
225
总技术分排名:
55471
发表于:
2008-04-29 11:06:57
11
楼 得分:
0
檢查數據庫服務器SPID更好,這個是死的,破不了
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
morninggood
传统文化必将战胜堕落
等级:
可用分等级:
贫农
总技术分:
489
总技术分排名:
32955
发表于:
2008-04-29 16:26:56
12
楼 得分:
0
可以设定用户库里面的用户数,超过5个就报警
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
hm616911
小虫子
等级:
可用分等级:
长工
总技术分:
33
总技术分排名:
148791
发表于:
2008-04-29 17:21:00
13
楼 得分:
0
引用 10 楼 SWind 的回复:
大部分会用数据库 但是用数据库会存在一个问题 某君网断了 它占了一个用户数 但实际上他并没使用 这样累积下来确实很头疼
这个办法可以用此时时间和上次时间差比较来判断。用户是否非法退出
不过吧是很准确。因为客户端和服务器距离长的话。数据更新慢的话。就会有误差
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
qlonsh
独幕剧
等级:
可用分等级:
中农
总技术分:
76
总技术分排名:
103943
发表于:
2008-04-29 17:33:26
14
楼 得分:
0
study
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
fhb
等级:
可用分等级:
小地主
总技术分:
850
总技术分排名:
21890
发表于:
2008-04-29 22:28:37
15
楼 得分:
0
如何你的客户是可以联internet的,最好客户端访问你在internet上的server记录登陆信息,这样就知道是否破解或盗版了.
---------------------------------------------------
酷得组件仓库
http://www.cookcode.net
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
knowledge_Is_Life
阿凡
等级:
可用分等级:
短工
总技术分:
9580
总技术分排名:
1993
发表于:
2008-05-01 15:55:21
16
楼 得分:
0
不知,帮顶
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
net_morning
矿泉水
等级:
可用分等级:
长工
总技术分:
622
总技术分排名:
27703
发表于:
2008-05-02 00:07:27
17
楼 得分:
0
还有其它的实用方法?
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
xingyongjian
xingyongjian
等级:
可用分等级:
贫农
总技术分:
261
总技术分排名:
50555
发表于:
2008-05-05 12:28:42
18
楼 得分:
0
使用登陆/退出的计数器不就可以了.
登陆时加一,退出或超时减一.
拒绝超时客户端的服务!
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
flexitime
我喜欢写程序
等级:
可用分等级:
中农
总技术分:
1029
总技术分排名:
18941
发表于:
2008-05-06 18:19:42
19
楼 得分:
0
如果单纯要通过数据库去实现的话,比较难以做好。问题是:
1.安全性不好,用户很容易就搞定你了
2.时效性不好,如果用户不正常退出时,就不能正确处理注销问题
一般通用的解决方案是使用一个服务端的程序,有很多商业的收费软件都是这样做的
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
flexitime
我喜欢写程序
等级:
可用分等级:
中农
总技术分:
1029
总技术分排名:
18941
发表于:
2008-05-06 18:22:57
20
楼 得分:
0
不过我想我是有方法去搞这件事的,有机会讨论一下
我的QQ :1966036,加我时请注明delphi fans
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
vfork
學習htm、css、js、java,然後到ajax。
等级:
可用分等级:
中农
总技术分:
2658
总技术分排名:
7983
发表于:
2008-05-06 21:27:59
21
楼 得分:
0
select count(1)
from master.dbo.sysprocesses
where db_name(dbid)='你的数据库名'
直接把允许连接数写到加密狗里面,但查询出的值>你加密狗里面的值就直接关闭系统。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zhuchengchuan
DELPHI爱好者
等级:
可用分等级:
掌柜
总技术分:
755
总技术分排名:
24092
发表于:
2008-05-07 15:44:20
22
楼 得分:
0
方法很多,可以用服务器的方式来控制,也可通过数据库来控制.
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
lizheng9564
Y*_*Y
等级:
可用分等级:
长工
总技术分:
61
总技术分排名:
114556
发表于:
2008-05-07 17:01:57
23
楼 得分:
0
可以在開個表或什么的,記錄現在活動的人數呀。進一個加1,退一個減1
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
gobiz
拔剑容易收剑难
等级:
可用分等级:
富农
总技术分:
6401
总技术分排名:
3255
发表于:
2008-05-07 23:56:27
24
楼 得分:
0
最简单的解放方案,每个客户端配一个加密狗,否则就不能启动!何必把时间浪费在这些问题上呢,再说了现在加密狗的价格又不贵!
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
genispan
老板,要一份油浆豆条
等级:
可用分等级:
中农
总技术分:
1974
总技术分排名:
10654
发表于:
2008-05-08 00:11:39
25
楼 得分:
0
引用 21 楼 vfork 的回复:
select count(1)
from master.dbo.sysprocesses
where db_name(dbid)='你的数据库名'
直接把允许连接数写到加密狗里面,但查询出的值>你加密狗里面的值就直接关闭系统。
谁试过此方法啊? 给点方法 我也学习下
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
Harryfin
Harry
等级:
可用分等级:
富农
总技术分:
3478
总技术分排名:
5971
发表于:
2008-05-08 01:00:51
26
楼 得分:
0
引用 24 楼 gobiz 的回复:
最简单的解放方案,每个客户端配一个加密狗,否则就不能启动!何必把时间浪费在这些问题上呢,再说了现在加密狗的价格又不贵!
控制还是有意义的,例如说你给1000个人分配了加密狗,但是系统只能同时并发500人
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zzflover
7年
等级:
可用分等级:
富农
总技术分:
676
总技术分排名:
26053
发表于:
2008-05-08 08:14:29
27
楼 得分:
0
引用 24 楼 gobiz 的回复:
最简单的解放方案,每个客户端配一个加密狗,否则就不能启动!何必把时间浪费在这些问题上呢,再说了现在加密狗的价格又不贵!
不好,为什么不在服务器加一个狗呢.服务器不启动就不行,省钱省事
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
bingyuanaike
红烧。`鸡翅
等级:
可用分等级:
中农
总技术分:
146
总技术分排名:
72040
发表于:
2008-05-08 09:43:02
28
楼 得分:
0
引用 14 楼 qlonsh 的回复:
study
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zengkun258
晨风
等级:
可用分等级:
贫农
总技术分:
0
总技术分排名:
313963
发表于:
2008-05-13 15:01:54
29
楼 得分:
0
这个必须要考虑到非法退出现象,非法退出的时候并不会去自动更新数据库 。所以在服务器加个狗是个不错的, 也可以用Socket,他是实时的
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zh_qy
等级:
可用分等级:
长工
总技术分:
0
总技术分排名:
313963
发表于:
2008-05-13 16:38:11
30
楼 得分:
0
看花眼了
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
shuihan20e
鹏哥(理性的羊肠小道胜过激情的高速公路)
等级:
可用分等级:
贫农
总技术分:
4587
总技术分排名:
4526
发表于:
2008-05-13 17:43:50
31
楼 得分:
0
系统中添加用户是检查用户数量,超过限制数目,提示,并且不允许添加
为防止在数据库中添加用户,启动时检查,超过了,提示
系统同时在线用户时,将在线用户都写到一个表(或数组以及其他方式)里,超过了就提示
修改
删除
举报
引用
回复