2013-04-24 5 views
7

3G 네트워크에서 데이터를 업로드하는 동안 Django의 POST 핸들러에서 임의로 IOError: request data read error을 얻습니다. Django가 특별한 예외를 발생시키는 이유는 무엇입니까 has already been answered (요약 : 클라이언트가 TCP 연결을 끊었을 때) 그러나, 제 경우에는 근본적인 문제를 해결하려고합니다.3G 타워 스위칭에서 TCP 연결은 어떻게됩니까?

문제를 좁힐 내 시도에서

, 나는 것으로 나타났습니다 : 단말기의 여러 유형 만

  • 재현 GPRS에 무선 랜에

    • 재현하지
    • 재현하지 (안드로이드 모두 iPhone) 및 여러 이동 통신사
    • 일부 지역에서 발생하지 않은 것으로 보입니다.
    • 다른 위치에서 일어난 것처럼 보입니다. 특히 데이터 속도 표시기가 전환되는 것을 볼 수 있습니다. 3G, HH+ (UMTS, HSDPA 및 HSPA +) 사이에

    내 추측은 어떻게되는지 전환 타워 있다는 것입니다. 그러면 3G가 타워간에 전환 할 때 TCP 연결은 어떻게됩니까?

  • +0

    잘 모르겠어요,하지만 난 저하 때 단지처럼 PDP 컨텍스트가 떨어을 다시 설정 확신 EDGE 및 GPRS와 같은 구형 기술에 이르기까지 다양합니다. 새로운 PDP 컨텍스트가 생기면 새로운 PPP 세션이 생기고 새로운 IP 주소가 생길 가능성이 높습니다. 따라서 TCP 연결이 끊어집니다. – Celada

    +0

    @Celada : OK,하지만 3G에서 여러 가지 속도 사이가 아닌 3G에서 2G로 또는 그 반대로 전환하는 것에 대해 이야기하고 있습니다. – vartec

    답변

    2

    성능이 좋은 네트워크에서 핸드 오버를 수행 할 때 TCP 연결 자체에 연결이 끊어지지 않아야하며 일반적으로 TCP를 사용하더라도 일반적으로 간단히 백 오프하고 다시 시도합니다.

    이동 통신사 액세스 네트워크에서 이동하는 '타워'와 운영자 코어 네트워크에서 액세스 노드가 차례로 연결되는 방식에 따라 3G 네트워크에서 실제로 다른 유형의 핸드 오버가 있습니다. 또한 코어 네트워크 구성 방법에 따라 달라집니다 - 일부 네트워크는 액세스 노드와 코어 노드 사이에 일대일 매핑을 가지며 일부는 액세스 노드 풀이 코어 노드를 공유 할 수있게하여 하나의 코어 노드간에 전송해야 할 가능성을 줄여줍니다 그리고 또 다른.

    다음 가이드는 3G 네트워크에서 핸드 오버 유형의 좋은 개요를 제공합니다 http://www.3g4g.co.uk/Tutorial/ZG/zg_handover.html