서비스 구현하여 푸시 서비스를 구현 했는데요...

정상작동하는데 치명적인 버그가 하나 있습니당 ㅠㅠ

서비스 같은경우 이제 서버와 tcp/ip 통신을 하는데 서버에 접속을 하면 자신의

ip를 보내고 서버는 그 ip를 알고 있는 것으로 접속이 유지 되고 있다고 할 수 있는데요...

단말에서 wifi <-> 3g 변동이나 기타 네트웍의 변화가 있을 시 ip 주소가 바뀌기 때문에

이때는 서버에 재접속 요청을 합니다...

재접속 인터벌은 10초 이고 최대 재접속 인터벌은 30분입니다...

총 18번 시도 한다고 보면 되는데...

이 시간이 짧게는 20~30초에서 길게는 1분까지 보았네요 테스트 하면서...

근데 이게 문제가 아니라.....이 대기 시간이 메인 스레드에서 작동을 하는 것 같습니다....ㅠ_ㅠ

그러니까.... 서비스가 돌고 있을때 네트웍을 바꿔 보면 폰이 멈춥니다........

그러고 30초면 30초...길게는 1분 이렇게 거의 딱 10초에 떨어지는 것을 보니....

네트웍을 다시 잡을 때까지 10초마다 재시도를 하는데 이것이 성공해서 재접속에 성공할 때까지

메인 스레드가 멈춰 있습니다....ㅠ_ㅠ

분명히 서비스를 상속받은 클래스내부에 구현한 것인데.... 왜 이런 현상이 일어날까요..?