我做了一個簡單的HTTP客戶端,它下載從網頁解析的一組URL。與java的幾個TCP連接URLConnection
我的問題是下載速度慢,與真正的瀏覽器(IE,Firefox,Chrome)相比。特別是如果頁面包含許多對象。
我注意到(使用wireshark)很多時候真正的瀏覽器會在開始加載頁面後立即在同一毫秒內建立5-10個TCP連接。然後這些連接將同時存在一段時間。我的客戶端也將建立併發的TCP連接(並且它將重新使用TCP連接),但是沒有這麼積極。我猜這是我的客戶較慢的原因之一。
我已經嘗試在從輸入流中讀取之前創建幾個URLConnections,但這不適用於我。雖然我沒有經驗,所以我可能做錯了。
有沒有人知道如何做到這一點(模仿瀏覽器在TCP連接設置方面做了什麼)與URLConnection?
您是否爲每個要下載數據的URLConnection創建單獨的線程? – MeBigFatGuy 2011-04-05 17:44:39
感謝您的迴應!不,我剛剛創建了單獨的URLConnection對象。我想我應該在單獨的線程中運行它們。嗯,我可以做到這一點,仍然只有一個輸入流偵聽器? – plithner 2011-04-05 18:30:14