1、对于使用TCP/IP链接的客户端应用程序,是具有状态的。一直等到客户端完成服务请求后释放配置的资源。如何掉线了,那么服务器就是傻傻地等着,可能导致资源耗尽。
如何在服务端选择一个链接切断关闭之:
2、KeepAlive功能
实现DataSnap服务器和DataSnap客户端互相查询的功能。
如果服务端无法查询到DataSnap客户端,那么服务端就主动切断该客户端在DataSnap服务器上的资源。
该功能的的实现:是TDSTCPServerTransport的三个属性:
特性 | 说明 |
keepAliveEnablement | 如何设定keepAlive的状态 |
keepAliveInternal(ms) |
只有keepAliveEnablement的特性设定成为kaEnableed是才起作用, 代表每次datasnap服务器查询datasnap客户端是否淮存在的时间间隔 |
keepAliveTime(ms) |
只有keepAliveEnablement的特性设定成为kaEnableed是才起作用, 查询的总时间。在这个总时间内datasnap客户端没有响应,那么datasnap 服务器就会主动切断连接并且free配置的资源 |