Delphi 如果客户端异常关闭,则通知Datasanap服务器

Delphi 如果客户端异常关闭,则通知Datasanap服务器,delphi,delphi-2010,Delphi,Delphi 2010,我正在使用Delphi2010进行HTTP DataSnap项目 如何通知服务器客户端异常关闭(例如终止进程) 更多详情: 我需要我的服务器知道是否有任何客户端已断开连接,这是正常的,但当任务管理器使用Kill进程关闭客户端时会出现问题。您不会通知服务器客户端已崩溃。您通常不能这样做,因为您没有任何东西可以通知它-您与服务器的唯一连接是客户端,而客户端已经崩溃 相反,您只能让服务器检测到客户端不再存在。有多种方法可以做到这一点。您可以定义一个keepalive信号,客户机希望定期发送该信号,如果

我正在使用Delphi2010进行HTTP DataSnap项目

如何通知服务器客户端异常关闭(例如终止进程)

更多详情: 我需要我的服务器知道是否有任何客户端已断开连接,这是正常的,但当任务管理器使用Kill进程关闭客户端时会出现问题。

您不会通知服务器客户端已崩溃。您通常不能这样做,因为您没有任何东西可以通知它-您与服务器的唯一连接是客户端,而客户端已经崩溃

相反,您只能让服务器检测到客户端不再存在。有多种方法可以做到这一点。您可以定义一个keepalive信号,客户机希望定期发送该信号,如果在没有keepalive消息到达的情况下经过太长时间,服务器可以假定客户机已离开。另一种方法是仅在网络操作失败时进行检测。如果服务器尝试从套接字读取数据,但读取失败(例如“管道断开”或“对等方重置连接”),则服务器知道客户端不再存在