나는 서버에 주기적으로 HTTP_GET 요청을 보내는 간단한 앱을 가지고있다. 3G를 통해 요청을 보낼 때 요청이 시간 초과되는 것으로 나타났습니다 (서버 측 로깅은 요청을받지 못한다는 것을 보여줍니다).전화가 IP 트래픽을 잃지 않도록하려면 어떻게해야합니까?
다른 조합을 시도한 후에이 문제가 발생했을 때 일관된 패턴을 발견했습니다 (5-15 회 성공한 요청마다 시간 초과 됨). 구글에 따르면
- TelephonyRegistry: notifyDataConnection() state=2isDataConnectivityPossible()true, reason=null
- TelephonyRegistry: broadcastDataConnectionStateChanged() state=CONNECTEDtypes=default supl, interfaceName=rmnet0
- NetworkLocationProvider: onDataConnectionStateChanged 3
는 NetworkLocationProvider는 "연결이 최대이지만, IP 트래픽이 일시적으로 사용할 수 없습니다"을 의미하는 'DATA_SUSPENDED'로 변경됩니다. (
TelephonyManager 참조). HTTP_GET 요청이 성공하는 상황에서 상태는 '8'로 변경됩니다. 내 응용 프로그램은 위치 관리를 사용하지 않고 실행중인 중요하지 않은 다른 모든 응용 프로그램을 종료했습니다!
내가 알고 싶은 :
- 이 문제의 원인이 무엇입니까? 연결 상태가 DATA_SUSPENDED로가는 이유는 무엇입니까?
- 이 문제를 피하거나 극복 할 수 있습니까?
이 도움말/통찰력은 대단히 감사합니다! 미리 감사드립니다!
이 연결 속도는 얼마나됩니까? 우리는 1ms에 15 번의 연결 시도를하고 있습니까? –
각 HTTP_GET 요청은 약 10 초 간격으로 진행되었으며 Android 2.1을 실행하는 HTC Hero에있었습니다. – Thira
정말 가난한 지역에있을 가능성이 있습니까? –