2012-11-27 4 views
0

socket.io를 사용하여 서버에 메시지를 보내고 clent에서 메시지를받는 iOS 앱을 작성하고 있습니다. 모두 괜찮습니다. 하지만 문제가 있습니다. 앱을 입력하고 메시지를 보내면 OK입니다. 홈 키를 누르고 시스템 설정 앱을 실행하고 비행기 모드를 선택하여 Wi-Fi를 닫은 다음 비행기 모드를 끄고 Wi-Fi에 연결합니다. , 내 애플에 다시 입력하지만 소켓을 다시 연결할 수 없습니다. 다운로드 사진으로 다른 인터넷 요청을하면 진행 대화 상자가 항상 표시됩니다.wifi가 꺼지고 다시 활성화되면 socket.io iOS 클라이언트에 다시 연결하는 방법?

나는 내 실수를 모른다. 나는 미쳐있다. 와이파이 온/오프에있을 때 내가

답변

1

https://github.com/pkyeck/socket.IO-objc를 사용

당신은 감지하고 있습니까? 너해야 해. 여기보세요 : Apple Reachability sample.

연결 해제 알림을 받으면 소켓을 분리 할 수 ​​있습니다. Wi-Fi가 다시 연결되면 다시 연결하십시오. 앱이 백그라운드로 전환되면 연결을 해제해야합니다.

나는 소켓이 마술로 다시 연결되는 것을 기대하지 않을 것이다. 모든 socket-io 대리자를 구현하여 연결이 끊어 지거나 오류가 발생한시기를 알 수 있습니다. 이 경우 소켓 -io 오브젝트를 변경하고 연결을 끊으십시오. 현재 소켓 상태 (연결, 연결 해제 등)를 알기위한 플래그가 필요할 수 있습니다. wifi를 다시 연결 한 후 앱을 다시 활성화하면 상태 플래그 및 실제 socket-io 개체에 따라 수행 할 작업을 알아야합니다.

+0

나는 wifi가 다시 켜지는 것을 감지합니다. 연결 해제 알림을 받으면 나는 socketIO.delegate = nil socketIO = niland입니다. 앱을 입력하면 다시 socketIO = [[SocketIO alloc] initWithDelegate : self]; //socketIO.useSecure = YES; [socketIO connectToHost : @ "localhost"onPort : 80]; – pengwang

+0

및 내 응용 프로그램은 https://github.com/pkyeck/socket.IO-objc/blob/master/SocketIO.m 148 행에서 실행되며 608에서 741.i로 실행되지 않습니다. 이유는 알 수 없습니다. – pengwang

관련 문제