我必须从FTP中提取一组图像。
我通过给出图像的服务器URL来尝试使用tomcat服务器,它看起来很快很好。要对从FTP服务器提取的FTP文件进行研究,请从apple SimpleFTPSample
获取样本在示例中,有一个代码可以从FTP中提取图像,但是它太慢而无法提取图像。
为什么要花一么多时间拍摄一张照片?如果我必须得到一些图像,我不能想象时间延迟?
谢谢, Easwar
答案 0 :(得分:5)
什么使FTP更快:
在发送的文件中没有添加元数据,只是原始二进制文件
从不分块编码“开销”
什么使HTTP更快:
重用现有的持久连接可以提高TCP性能
流水线操作可以更快地从同一服务器请求多个文件
(自动)压缩可以减少发送的数据
没有命令/响应流程可以最大限度地减少额外的往返次数
最终,净结果当然因具体而异 细节,但我会说,对于单次静态文件,你不会 能够衡量差异。对于单拍小文件,你 使用FTP可能会更快(除非服务器很长 往返距离)。获取多个文件时,HTTP应该是 更快。
使用以下委托方法跟踪上传进度:
- (void)connection:(NSURLConnection *)connection didSendBodyData:(NSInteger)bytesWritten totalBytesWritten:(NSInteger)totalBytesWritten totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite
totalBytesWritten / totalBytesExpectedToWrite gives me the upload percentage.
答案 1 :(得分:0)
什么使FTP变慢:
每次为每个文件建立连接。
在此我不确定:在端口X(可能是22)上完成了手动操作,数据传输在端口Y中完成(可能是21)
什么使HTTP变慢: https标题。
对于一个大文件IO会使用FTP,一堆小文件HTTP,一个或几个小文件:我可以在10秒内复制粘贴的代码:)
如果您关心服务器端要求,FTP需要FTP服务器,并且设置权限和HTTP服务器通常已经存在。
防火墙:通常是http授权,ftp拒绝
答案 2 :(得分:0)
FTP远比HTTP复杂: 必须执行几个命令才能请求文件 2应创建另一个TCP连接以传输文件数据
因此,如果您的应用程序对延迟敏感,则HTTP是最佳选择。