我有一个简单的问题就是关心我。这是关于Symbian中的套接字API。Symbian:如何正确取消长时间的异步套接字操作
我该如何关闭当前长时间的异步操作? 例如,如果我为GPRS执行CSecureSocket::StartClientHandshake
这样的操作,它的操作时间很长。如果我想关闭我的应用,我应该打电话Cancel()
,这是同步操作。我等待大约3分钟,CSecureSocket::StartClientHandshake
将完成。
这不是我想要的。相反,我拨打CSecureSocket::Close()
。它打破了我的握手过程,关闭了套接字。但是,下一次我收到回拨MyClass::Run
,并显示错误Canceled
。如果我不关闭我的应用程序,这很正常。但是如果我删除我的MyClass
这是个错误。
如果我想删除MyClass
,~MyClass
应该调用Cancel()
,但它会让我等待大约3分钟。
这是我的问题:我应该如何关闭长期的异步操作?