iOS FTP客户端的见解(续)

之前有写过一篇,有关iOS ,socket实现ftp客户端,我自己的一些思路和遇到的问题,这次补充几点。

1,之前有说过,有关上传的问题,收到命令socket返回的150之后,然后开始用数据socket发送文件的二进制数据,数据发送完成之后,因为我用的那个第三方是,GCDAsyncSocket,他这个writedata之后,没有返回结果,不知道是否发送成功,只是我发送的时候,给了一个超时,如果没有发送成功的话,socket会断开连接,然后返回的错误信息是writedata超时,但是如果发送成功的话,我们是不知道的,然后,我们发送完了之后,是需要发送成功之后,才去调用命令socket去接收226的返回的,所以这个地方,我在发送完数据之后,加了一个两秒钟的延时,因为,一般情况下,只要网络正常,两秒足够了,然后本来我发送数据的操作就是放在子线程里执行的,所以不用担心app会卡顿,两秒钟延时之后,我再去断开数据socket,然后调用命令socket去接收,即可,然后会收到226,说明操作成功。

2,下载文件时,因为在下载之前会去获取文件的大小,然后用数据socket去接收数据的时候,自己根据之前拿到的文件大小,去判断,即可知道数据有没有传输完,数据传完之后,把数据socket断开,(下载操作服务端那边会自动断开,保险起见自己再断一次),然后调用命令socket去接收,即可,然后会收到226。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值