나는 간단한 질문 하나를 가지고 있습니다. Symbian의 Sockets API에 관한 것입니다.Symbian : 긴 비동기 소켓 작업을 올바르게 취소하는 방법
현재 긴 비동기 작업을 어떻게 닫아야합니까? 예를 들어, GPRS에 대해 CSecureSocket::StartClientHandshake
과 같은 작업을 수행하면 작업이 상당히 오래 걸립니다. 앱을 닫으려면 동기화 작업 인 Cancel()
으로 전화해야합니다. CSecureSocket::StartClientHandshake
이 완료되는 동안 약 3 분을 기다리고 있습니다.
내가 원하는 것은 아닙니다. 대신 CSecureSocket::Close()
으로 전화합니다. 그것은 내 핸드 셰이크 프로세스를 깨고 소켓을 닫았습니다. 하지만 다음 번에는 에 Canceled
이라는 콜백이 생깁니다. 내 앱을 닫지 않으면 정상입니다. 그러나 내 MyClass
을 삭제하면 실수입니다.
MyClass
을 삭제하려면 ~MyClass
은 Cancel()
으로 전화해야하지만 약 3 분 정도 기다려야합니다.
그리고 그것은 내 질문입니다. 긴 비동기 작업을 어떻게 닫아야합니까?