1
我正在創建一個Java應用程序,它將自動將podcast下載到某人的電腦。我想知道我是否應該通過Socket連接到我的服務器或簡單地使用URL類。用URL和套接字下載的速度有什麼區別?
有誰知道通過URL與套接字連接下載的速度差異。我知道URL對象是建立在Socket對象之上的,但我不確定運行時間有什麼不同。
我正在創建一個Java應用程序,它將自動將podcast下載到某人的電腦。我想知道我是否應該通過Socket連接到我的服務器或簡單地使用URL類。用URL和套接字下載的速度有什麼區別?
有誰知道通過URL與套接字連接下載的速度差異。我知道URL對象是建立在Socket對象之上的,但我不確定運行時間有什麼不同。
使用現有的庫支持。直接使用套接字執行此任務的唯一原因是連接到定製協議(即而不是 HTTP,因爲它沒有合適的實現)。有很多現有的傳輸協議 - 不要浪費時間爲這種通用情況創建另一個傳輸協議。
HttpURLConnection最終使用「說」HTTP的TCP套接字實現。直接使用套接字需要編寫代碼來理解HTTP - 無論在何種情況下都是必需的。此代碼即使「比HttpUrlConnection更高效」完成,也只會代表實際執行時間的一小部分,其將由其他因素支配。
而是考慮如何速度可以在更高的層次加以改進:
我會說,一般來說,它無關緊要,在大多數情況下它是無關緊要的。通常,您需要以任何方式實現URL爲您實現的協議開銷,因此在一天結束時,您會做同樣的事情。 – MadProgrammer
爲什麼會有區別?您的套接字是否會傳輸不同類型的數據? – zapl
你的程序速度和網絡速度之間的差異是如此不同。 –