2011-12-20 3 views
0

내 iPhone 응용 프로그램은 소켓 프로그래밍을 사용하여 PC와 통신하는 원격 데스크톱 프로토콜을 기반으로합니다. 모든 것이 iOS4에서 잘 작동하지만 iOS5 기반 기기에서 문제가 발생합니다.잠금 키를 눌렀을 때 iOS5의 소켓 연결이 끊깁니다.

iOS5 기반 기기에서 사용자가 잠금 버튼을 누르면 소켓 연결이 끊어집니다. 나는 내 아이폰 앱을위한 모든 통신을하는 코코아 기반 정적 소켓 라이브러리를 개발했다.

FYI : 필자는 라이브러리에서 노출 된 함수를 호출하여 통신을 시작합니다. [self performSelectorInBackGround : @selector (triggerCommunication :) withObject : IP_Address];를 사용하여 백그라운드 스레드로 호출합니다.

a. iOS5의 잠금 버튼을 누를 때 소켓이 끊기는 이유는 무엇입니까? b. 소켓이 연결 해제되지 않도록하는 방법이 있습니까?

감사합니다, 우리는 iOS5를 SDK로 컴파일 한 후 잠금 버튼을 클릭에 연결 해제를 소켓, 응용 프로그램을 실행하면

답변

0

.

내 응용 프로그램을 iOS4 SDK로 다시 컴파일하고 iOS5 기반 iPhone에서 응용 프로그램을 테스트했습니다. 그리고 소켓은 잠긴 후에도 연결이 끊어지지 않았습니다!. 이건 정말 대답하지

감사

+0

, 당신은 응용 프로그램이 (심지어 아이폰 OS 4) 약 15 분 후 분리 않는 것을 확인할 수 있습니다. 휴대 전화가 잠겨 있거나 앱이 백그라운드로 설정된 경우에도 연결을 유지하려면 VoIP 서비스에 등록하고 PC에 연결하는 데 사용하는 소켓에 관련 플래그를 설정해야합니다. 그런 다음 소켓 연결을 유지하기위한 백그라운드 핸들러를 설치해야합니다. –

+0

1. VOIP 서비스를 어떻게 설정할 수 있습니까? 소켓에 설정할 플래그는 무엇입니까? C 코드, 코코아 정적 라이브러리를 사용하고 있습니다. 그러한 플래그가 사용 가능합니까? – RDX

관련 문제