我有一个远程Datasnap REST方法的调用,服务器有时不会响应,我需要检测它并终止应用程序,而不是让它冻结。
我使用DSRestConnection和Datasnap REST客户端模块,其中定义了所有远程方法,并附加到DSRestConnection。我找不到Timeout属性,AFAIK我只能在Datasnap Server上设置超时,但有时客户端失去与服务器的连接,所以我还需要在客户端上提出超时。
如果没有超时,我如何模拟超时?是否有一个类可以帮助实现这一目标,还是需要从头开始编写代码?在这种情况下,要采取的方法是对次要威胁进行远程调用,因此主线程仍然响应并使用类似Timer的方法来检查呼叫是否及时成功?。
我将不胜感激任何建议。谢谢。
答案 0 :(得分:3)
TDSRestConnection
应该允许您通过其 HTTP 属性访问基础TDSHTTP
客户端。 TDSHTTP
客户端公开 ConnectTimeout 和 ReadTimeout 属性。也许后者就是你要找的。 p>