Datasnap:有没有方法检测的连接损失的全球?
-
23-08-2019 - |
题
我想要探测的地方连接的损失。是否有意要这样做,因为与事件的Corelabs组件?
感谢
编辑:对不起,我会试着更具体:我目前正在设计一个原型使用datasnap2009年。所以我已经有了一个瘦客户,一个无国籍的服务器应用程序和数据库服务器。
有什么我能做的就是检测和处理连接损失(互联网连接)客户之间和服务器应用程序,以妥善处理这个问题,即:显示一个内容丰富的错误信息的用户或者检测服务器停机,静静地重新定向另一程序的服务器。
在2级,我用来管理,与ODAC件,TOraSession有一些活动来处理这个问题。
解决方案
正常情况下没有当连接被断开,除非声明针对数据库烧制焙烧事件。这是因为没有办法知道的连接损耗,除非有某种形式的IS-活着查验事情的方式。
很多框架检查连接是否仍然这样做对服务器一个非常小的查询有效。原本可以得到从服务器的时间。特别是在连接池环境。
您可以在您的应用程序中的一些事件数据库的连接检查功能(beforeexecute?)。或使该检查每10秒的计时器。
其他提示
产生一个线上的客户定期发送的一些RPC'平'或'的心跳'命令的服务器。
如果失败,客户知道这事发生在连接
如果服务器没听到客户了一段时间(例如,两次心跳的间隔时间),他可以得出结论,客户断开,然而这需要一个有状态的服务器(和你的设计是无国籍,因此它将需要处理的事件一次级系统,该系统可以通过一个消息队)
不隶属于 StackOverflow