我有一個簡單的問題就是關心我。這是關於Symbian中的套接字API。Symbian:如何正確取消長時間的異步套接字操作
我該如何關閉當前長時間的異步操作? 例如,如果我爲GPRS執行CSecureSocket::StartClientHandshake
這樣的操作,它的操作時間很長。如果我想關閉我的應用,我應該打電話Cancel()
,這是同步操作。我等待大約3分鐘,CSecureSocket::StartClientHandshake
將完成。
這不是我想要的。相反,我撥打CSecureSocket::Close()
。它打破了我的握手過程,關閉了套接字。但是,下一次我收到回撥MyClass::Run
,並顯示錯誤Canceled
。如果我不關閉我的應用程序,這很正常。但是如果我刪除我的MyClass
這是個錯誤。
如果我想刪除MyClass
,~MyClass
應該調用Cancel()
,但它會讓我等待大約3分鐘。
這是我的問題:我應該如何關閉長期的異步操作?