I'm randomly getting IOError: request data read error
in Django's POST handler while uploading data on 3G network. The question why Django raises that particular exception has already been answered (summary: allegedly happens when client dropped TCP connection). However, in my case I'm trying to solve underlying issue.
From my attempts to narrow down the issue, I've found that:
3G
, H
and H+
(UMTS, HSDPA and HSPA+)My wild guess is that what happens there is switching towers. So what happens to TCP connection when 3G switches between towers?
The TCP connection itself should not normally see any interruption to connectivity when you handover in a well performing network, and even if it did TCP would normally simply back off and retry.
There are actually different types of handover in 3G networks depending on what the 'tower' you are moving from is connected to in the operators access network and what the access nodes in turn are connected to in the operators core network. It also depends on how the core network is configured - some networks will have a one to one mapping between access nodes and core nodes and some will allow pools of access nodes share core nodes which will reduce the likelihood of having to transfer between one core node and another.
The following guide gives a good overview of handover types in a 3G network: http://www.3g4g.co.uk/Tutorial/ZG/zg_handover.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With