我必須從FTP中拉出一組圖像。哪個更好的獲取文件 - 在iOS代碼中的FTP或HTTP?
我已經嘗試了與tomcat服務器相同的東西,只是給圖像的服務器url,它看起來很快,很好。爲了研究從FTP服務器上獲取FTP文件,我們從蘋果公司獲得了一個樣本SimpleFTPSample
在示例中,有一個代碼可以從FTP中提取圖像,但它太慢而無法提取圖像。
爲什麼要花這麼多時間來拍攝一張照片?如果我必須得到一些圖像,我無法想象時間延遲?
感謝, Easwar
我必須從FTP中拉出一組圖像。哪個更好的獲取文件 - 在iOS代碼中的FTP或HTTP?
我已經嘗試了與tomcat服務器相同的東西,只是給圖像的服務器url,它看起來很快,很好。爲了研究從FTP服務器上獲取FTP文件,我們從蘋果公司獲得了一個樣本SimpleFTPSample
在示例中,有一個代碼可以從FTP中提取圖像,但它太慢而無法提取圖像。
爲什麼要花這麼多時間來拍攝一張照片?如果我必須得到一些圖像,我無法想象時間延遲?
感謝, Easwar
是什麼讓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.
是什麼讓FTP慢:
你必須爲每個文件中的每個時間來建立連接。
在這我不知道:在handschaking在端口X(22也許)和數據轉院做端口Y(21也許)
是什麼使得HTTP慢做: https的頭。
爲一個大文件IO會使用FTP,對於一堆小文件HTTP,1或幾個小檔案:我可以複製粘貼在10秒:)
代碼中的FTP需要FTP服務器,並且設置權限和HTTP服務器通常已經存在,如果你關心服務器端的需求。
防火牆:通常爲http授予,FTP拒絕
FTP遠比HTTP更復雜: 1幾個命令必須被執行以請求 2另一TCP連接應建立傳輸的文件數據
文件因此,如果您的應用程序對延遲敏感,HTTP是最佳選擇。
@PrakashDesai接受你的答案。謝謝 – 2013-06-18 13:55:12
很好的問題,我真的有同樣的問題 – freelancer 2013-07-10 04:22:12