2010-08-18 5 views
18

내 3G 네트워크에서 무거운 데이터를 전송하는 TCP 연결이 있다고 가정합니다. 나는 집으로 걸어 갔고, 안드로이드는 자동적으로 우리 집 Wifi로 바꾼다. 이제 기존 연결은 어떻게됩니까? 단순히 연결을 끊는 것입니까? 계속 연결되면 새 연결 만 Wi-Fi를 사용합니까?3g/wifi 사이를 전환 할 때 기존 연결은 어떻게됩니까

또한 집에서 나가면 wifi 신호가 끊어져 3g로 바뀝니 까? 연결이 끊어짐을 추측하는 것이 안전해야합니다. 내 애플리케이션의 경우 재 연결을 처리해야합니까, 아니면 자동 폴백 솔루션이 있습니까?

미리 감사드립니다.

홍보 감독

+0

흥미로운 질문입니다. 그것은 나를 위해 +1 가치가있다;) – Sephy

답변

9

장치가 TCP 패킷이 자신의 방법을 찾을 어떻게 다른 IP 주소에 나타납니다 때문에 연결이 떨어질 것이다.

코드를 작성하지 않으면 폴백이 발생하지 않으므로 앱이 3G에서 많은 시간을 소비 할 경우 어쨌든해야합니다. 데스크톱 응용 프로그램이 "D' oh"로가는 것이 좋습니다. 케이블이나 DSL에 가끔씩 발생하는 문제가 있지만 3G 연결은 일상적으로 중단됩니다.

1

마치 한 네트워크에서 랩톱을 연결하고 다른 네트워크에 연결 한 것과 같은 결과가 발생합니다. 연결이 끊어졌습니다. 모바일 앱은 끊어진/끊어진 연결이 발생할 확률이 훨씬 높으므로 적절히 코딩해야합니다. 예를 들어 앱은 android.net.ConnectivityManager를 통해 상태 변경을 등록 할 수 있습니다. 경우에 따라 앱에서 다운로드 한 내용에 대해 무결성 검사를 수행해야 할 수도 있으므로 깨진 파일을 렌더링하지 않기 시작해야합니다. 다른 경우에는 3G를 통한 연결 인 경우 특정 유형의 데이터 (예 : 대용량 파일)를 다운로드하는 것이 좋지 않습니다.

0

Nothing. 현재의 모든 IP 주소를 열거하고 각각 소켓에 바인딩해야합니다. 그리고 네트워크 상태/IP 주소가 변경되면 Reachability (Android의 일종) 알림에 가입하십시오. 코드도 Android에서 작동해야합니다. 이 요점의 다중 경로 예제를 참조하십시오. https://gist.github.com/avesus/fdb465b60a4f5204845c

관련 문제