我有一个连接,我给它20秒的超时时间(慢速链接)。我需要允许用户取消此连接调用。
我已经将连接放在线程中以保持GUI运行,但如何告诉Indy取消连接?由于连接调用被阻塞,我还必须从主线程调用取消。这可能吗?
这是针对C++ Builder的问题,但Delphi的答案也可以。
我有一个连接,我给它20秒的超时时间(慢速链接)。我需要允许用户取消此连接调用。
我已经将连接放在线程中以保持GUI运行,但如何告诉Indy取消连接?由于连接调用被阻塞,我还必须从主线程调用取消。这可能吗?
这是针对C++ Builder的问题,但Delphi的答案也可以。
唯一中止Connect()的方法是从不同于调用Connect()的线程上下文中调用Disconnect()。在这种情况下,您的主线程可以直接调用Disconnect(),然后您的线程可以处理Connect()引发的异常。