2012-11-27 2 views
0

ios 용 사용자 정의 소프트 폰을 개발합니다. 신호로 TCP 연결을 사용합니다. 거의 모든 것이 잘 작동합니다.ios 백그라운드 모드에서 열린 tcp 연결

문제 : 소프트 폰이 백그라운드 모드 일 때 서버 또는 라우터 쪽에서 연결이 끊기는 경우가 있습니다. Softphone에서 다시 설정하지만이 새로운 연결은 안정적이지 않습니다. 다시 20-25 초 안에 닫힙니다. 그것이 왜 닫혀 있는지 분명하지 않습니다. iOS가 이러한 연결을 끊을 수 있습니까?

TCP 연결이 문제없이 ios 백그라운드 모드에서 생성 될 수 있습니까? 누구나 경험을 공유 할 수 있습니까?

감사합니다.

P. voip 응용 프로그램에 필요한 소켓 스트림 쌍을 추가하고 .plist 파일에는 voip & 오디오 모드가 포함됩니다.

답변

0

발견됨. tcp 소켓을 만들려고했는데, iOS로 추적 할 수있게 만들고 호스트에 연결하려고했습니다.

그러나 올바른 순서가되어야합니다 소켓이 비 블로킹 소켓 (연결됩니다 동안 1)에 연결 전화) 소켓 만들기 2 3)) 기다립니다. Select() 호출에서 소켓을 쓸 수 있는지 확인했습니다. 4) iOS로 소켓 추적 가능 -이 소켓에 대해 CFReadStream/CFWriteStream 쌍을 만들고 필요한 속성을 설정하고 읽기 스트림을 엽니 다.

이 순서대로 작동합니다.

+0

하지만 너무 자주 tcp 연결 오류가 발생합니다. 그래서 그것은 틀린 대답입니다. http://stackoverflow.com/questions/13690077/ios-application-runs-after-end-of-background-task/13790353#13790353- 작동합니다. – Dmytro