2013-04-23 24 views
1

我必須從FTP中拉出一組圖像。哪個更好的獲取文件 - 在iOS代碼中的FTP或HTTP?

我已經嘗試了與tomcat服務器相同的東西,只是給圖像的服務器url,它看起來很快,很好。爲了研究從FTP服務器上獲取FTP文件,我們從蘋果公司獲得了一個樣本SimpleFTPSample

在示例中,有一個代碼可以從FTP中提取圖像,但它太慢而無法提取圖像。

爲什麼要花這麼多時間來拍攝一張照片?如果我必須得到一些圖像,我無法想象時間延遲?

感謝, Easwar

+1

@PrakashDesai接受你的答案。謝謝 – 2013-06-18 13:55:12

+0

很好的問題,我真的有同樣的問題 – freelancer 2013-07-10 04:22:12

回答

5

由於Daniel states here

是什麼讓FTP速度快:

無添加元數據在發送的文件,只是原始的二進制

決不分塊編碼「開銷」

什麼使HTTP快速ER:

重用現有的持久連接做出更好的TCP性能

流水線使得要求從快

(自動)壓縮使得較少的數據被髮送

沒有命令/響應的同一服務器的多個文件流量最小化額外往返

最終,淨結果當然有所不同,具體取決於具體的 細節,但我會說,對於單發s tatic文件,你不會 能夠衡量差異。對於單個小文件,使用FTP您可以更快地獲得它 (除非服務器的往返距離很長,爲 )。當獲得多個文件時,HTTP應該是更快的文件。

使用下面的委託方法來跟蹤上傳進度:

- (void)connection:(NSURLConnection *)connection didSendBodyData:(NSInteger)bytesWritten totalBytesWritten:(NSInteger)totalBytesWritten totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite 

totalBytesWritten/totalBytesExpectedToWrite gives me the upload percentage. 
0

是什麼讓FTP慢:

你必須爲每個文件中的每個時間來建立連接。

在這我不知道:在handschaking在端口X(22也許)和數據轉院做端口Y(21也許)

是什麼使得HTTP慢做: https的頭。

爲一個大文件IO會使用FTP,對於一堆小文件HTTP,1或幾個小檔案:我可以複製粘貼在10秒:)

代碼中的FTP需要FTP服務器,並且設置權限和HTTP服務器通常已經存在,如果你關心服務器端的需求。

防火牆:通常爲http授予,FTP拒絕

0

FTP遠比HTTP更復雜: 1幾個命令必須被執行以請求 2另一TCP連接應建立傳輸的文件數據

文件

因此,如果您的應用程序對延遲敏感,HTTP是最佳選擇。

相關問題