关于使用github上开源类库 ios-ftp-server 的心得

笔者最近在实现app上一个通过ftp协议与电脑端共享文件的功能。 

这里附上使用的第三方开源代码的连接,以节省读者的时间。

https://github.com/loleh43/ios-ftp-server

里面的demo其实是比较简单的。其实,就是利用该类库,在iPhone上开启ftp服务器,然后通过"我的电脑"地址栏输入ip进行访问

但是,开始的时候由于粗心了,自己按照原作者的思路写了个demo,发现电脑端一直访问不了。

仔细断点调试了一番,才发现是导入文件的时候没把东西导入完全。

大家使用这个类库的时候,记得把也导入进去,缺失了这个文件,电脑端可是无法访问你的app沙盒的。因为这个文件不在class文件夹中,所以往往会被后来者忽略掉。

导入运行所需的框架,在你想要开启ftp服务器的controller中声明ftpServer.h  

还有一点是需要注意的。该类库是基于mrc的,而现在开发大部分人都是基于arc的,这种情况就涉及到了mrc和arc的混用了。

在target的build phase -> compile Sources 中找到对应的文件,并且添加compiler flags

如图所示

还有比较重要的一点便是,如果你的app中已经使用了CocoaAsyncsocket 实现即时聊天功能,那么你的app socket环境是相对复杂的,会出现一个小bug,当你开启ftpServer时,电脑端连接上手机,而断开服务时,刷新地址栏,你的连接socket依然存在着。

这是因为在不同的文件里,调用了相同的Asyncsocket中的方法。导致连接socket无法释放。

解决方案:

将ftpServer单例化,并添加一个bool变量用于判断是否应该连接。  在ftpConnection中声明ftpServer,并在相应的委托方法中,通过ftpServer的bool变量来限制方法的执行,以免重复创建链接socket。

如有错误之处,还请指出,谢谢。


评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值