我想要探测的地方连接的损失。是否有意要这样做,因为与事件的Corelabs组件?

感谢

编辑:对不起,我会试着更具体:我目前正在设计一个原型使用datasnap2009年。所以我已经有了一个瘦客户,一个无国籍的服务器应用程序和数据库服务器。

有什么我能做的就是检测和处理连接损失(互联网连接)客户之间和服务器应用程序,以妥善处理这个问题,即:显示一个内容丰富的错误信息的用户或者检测服务器停机,静静地重新定向另一程序的服务器。

在2级,我用来管理,与ODAC件,TOraSession有一些活动来处理这个问题。

有帮助吗?

解决方案

正常情况下没有当连接被断开,除非声明针对数据库烧制焙烧事件。这是因为没有办法知道的连接损耗,除非有某种形式的IS-活着查验事情的方式。

很多框架检查连接是否仍然这样做对服务器一个非常小的查询有效。原本可以得到从服务器的时间。特别是在连接池环境。

您可以在您的应用程序中的一些事件数据库的连接检查功能(beforeexecute?)。或使该检查每10秒的计时器。

其他提示

产生一个线上的客户定期发送的一些RPC'平'或'的心跳'命令的服务器。

  • 如果失败,客户知道这事发生在连接

  • 如果服务器没听到客户了一段时间(例如,两次心跳的间隔时间),他可以得出结论,客户断开,然而这需要一个有状态的服务器(和你的设计是无国籍,因此它将需要处理的事件一次级系统,该系统可以通过一个消息队)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top