三层系统中如何控制客户端连接数(200)

  • 主题发起人 DelphiDeveloper
  • 开始时间
D

DelphiDeveloper

Unregistered / Unconfirmed
GUEST, unregistred user!
在三层的系统中,想实现有效的控制客户端访问应用服务端的连接个数,如最大10个客户端连接,则第11个客户端访问应用服务端得时候就不允许。目前我实现的方法是有个全局变量在记录连接数,但是在网络断开后(我测试的时候是禁用网卡)、电脑死机等情况下,出现应用服务端远程模块不能Free,导致连接数不正确。请教大家有啥好的方法可以实现有效的控制!
 
会话管理:定时清理死会话,释放资源。
 
在服务器端定义一个全局变量,客户端登录上服务器时,加1,断开时减1
 
这种情况一般都需要搞个心跳机制,一段时间没有心跳的客户端,表示已经死了,释放连接等资源即可。
 
在客户端、服务器之间发消息确定客户端是否在线
 
心跳机制
 
检测到客户端不用了或死了就释放资源
 
采用心跳机制,记录心跳时间,如果心跳时间超过允许的范围就判断客户端掉线.从维护表中删除就行了.
 
多人接受答案了。
 
顶部