0

気遣いという簡単な質問が 1 つあります。Symbian のソケット API についてです。

現在の長い非同期操作を閉じるにはどうすればよいですか? たとえば、CSecureSocket::StartClientHandshakeGPRS のような操作を行うと、かなり長い操作になります。アプリを閉じたい場合Cancel()は、sync op を呼び出す必要があります。が完了するまで約 3 分待っていCSecureSocket::StartClientHandshakeます。

それは私が欲しいということではありません。代わりに を呼び出しますCSecureSocket::Close()。それは私の握手プロセスを壊し、ソケットを閉じました。しかし、次にMyClass::Runエラーでコールバックを受け取ったときCanceled。アプリを閉じないのは正常です。しかし、私のMyClass.

MyClassを削除したい場合は~MyClassを呼び出す必要がありますCancel()が、3 分ほど待たされます。

そして、それは私の質問です:どのように長い非同期操作を閉じる必要がありますか?

4

1 に答える 1

0

AFAIK calling Close should internally call Cancel for all running operations. Thats why you get this Canceled notification. So when deleting your MyClass then also call Close, not Cancel.

于 2012-11-01T13:26:34.043 に答える