2012-08-01 76 views
4

我正在爲使用TCP下載文件的Android創建應用程序。它已經完成,並且工作得很好,但是我在下載文件時從一個網絡切換到另一個網絡時遇到問題,因爲下載暫停並最終超時。某些設備甚至有一項功能,可以在找到合適的熱點時立即激活WiFi,並禁用現有的移動數據連接。Android:將TCP連接從3G傳輸到WiFi

如何在切換網絡時保持基於TCP的連接存活?它甚至有可能嗎?我對網絡知之甚少,但我知道TCP連接固定在IP上,而Android手機上的移動網絡和WiFi接口具有不同的IP。那麼,如果IP發生變化,現有的連接是否完全無法被其他網絡訪問?

+0

我真的很驚訝,轉換不僅無縫工作 - TCP旨在處理多個鏈接上/下。 L2/L3應該,AFAIK,只是使用其他連接。也許android不起作用,即。它會在Wifi出現之前禁用3G連接。這將是一個糟糕的計劃:( – 2012-08-02 14:28:12

回答

3

以較小的塊下載文件,而不是一次完整的下載。如果一個塊由於連接更改而超時,則使用當前可用的連接類型再次啓動該塊。

+0

雖然是一個好主意,但它可能無法一直工作。如果從例如web服務器下載,並非所有服務器都支持從文件中的特定位置開始下載。 – 2012-08-01 09:22:32

+0

只有OP會知道這一點,我們只能根據我們提供的信息給出他/她遇到的問題的建議,如果服務器不支持可恢復下載,唯一的選擇是重新啓動下載。 – Kuffs 2012-08-01 10:16:58