Symbian: как правильно отменить работу сокета - PullRequest
0 голосов
/ 24 июня 2010

Я хотел бы задать вопрос о правильном способе отмены операций с сокетами в Symbian. Насколько я понимаю, у нас есть два варианта:

  1. Вызов CActive :: Cancel () для объекта ActiveObject, который используется для асинхронных запросов.
  2. Вызов RSocket :: CancelRead () или RSocket :: CancelSend () или RSocket :: CancelAll ()

Какой путь правильный? Или, может быть, мне следует вызвать оба метода - из CActive и из RSocket?

Заранее спасибо.

1 Ответ

0 голосов
/ 24 июня 2010

Я ничего не написал, используя класс RSocket, но из его API, я думаю, он используется так: у вас есть AO, и вы передаете его iStatus одному из асинхронных методов RSocket (Send (), Read (), Recv).(), так далее.).В этом случае вам следует вызвать метод отмены в RSocket (CancelSend (), если вы передали iStatus в Send (), CancelRead (), если вы использовали Read () и т. Д. Или просто CancelAll ()), и он завершит ваш AO с помощью KErrCancel.

...