8

IOError: request data read error在 3G 网络上上传数据时,我随机进入Django 的 POST 处理程序。Django 引发特定异常的问题已经得到解答(总结:据称发生在客户端断开 TCP 连接时)。但是,就我而言,我正在尝试解决根本问题。

从我缩小问题范围的尝试中,我发现:

  • 无法在 WiFi 上重现
  • 不能仅在 GPRS 上重现
  • 可在各种类型的手机(Android 和 iPhone)和多个运营商上重现
  • 在某些地方似乎没有发生
  • 似乎发生在其他位置,尤其是当我可以看到数据速度指示器在3G,HH+(UMTS, HSDPA 和 HSPA+)之间切换时

我的疯狂猜测是那里发生的事情是交换塔。那么当 3G 在塔之间切换时 TCP 连接会发生什么?

4

1 回答 1

4

当您在性能良好的网络中进行切换时,TCP 连接本身通常不会出现任何连接中断,即使发生这种情况,TCP 通常也会简单地退出并重试。

3G 网络中实际上存在不同类型的切换,具体取决于您要移动的“塔”在运营商接入网络中连接到什么,以及接入节点又在运营商核心网络中连接到什么。它还取决于核心网络的配置方式——一些网络将在接入节点和核心节点之间进行一对一的映射,而一些网络将允许接入节点池共享核心节点,这将减少在一个核心节点之间进行传输的可能性和另一个。

以下指南很好地概述了 3G 网络中的切换类型: http ://www.3g4g.co.uk/Tutorial/ZG/zg_handover.html

于 2013-05-09T19:04:41.210 回答