美文网首页
使用Libtorrent开发ios的BT下载遇到的问题(1)

使用Libtorrent开发ios的BT下载遇到的问题(1)

作者: 统领三界 | 来源:发表于2016-11-18 16:41 被阅读968次

    首先问题不是一直发生,下载几个种子后,就会出现问题概率不一定


    屏幕快照 2016-11-18 下午4.07.43.png

    控制台输出的内容是


    屏幕快照 2016-11-18 下午4.07.53.png

    简单判断下大概是跟libtorrent依赖的boost库的方法又关系,缩小范围后,经过定位发现是在代码里面调用下面方法后崩溃的

    屏幕快照 2016-11-18 下午4.12.45.png

    代码里面th对应的是一个torrent_handle的对象,那么也就是说在获取这个torrent_handle对应的torrent_info后,通过这个torrent_info获取种子一系列信息的时候出错了,于是找到这个种子用迅雷尝试了下弹出

    屏幕快照 2016-11-18 下午2.29.30.png

    这样问题就很显然了,是因为种子文件有问题,那么该怎么处理,首先想到的是,要先判断这个torrent_info是否可用,看了看还真有相对应的函数

    屏幕快照 2016-11-18 下午4.19.23.png

    而且返回一个bool值 ,那不是正好.但是很遗憾,还是跟原来一样报错,又试了试其他几个方法,都一样报错.也就是差不多这个torrent_info对象的数据是错误的,那么你调用他的任何方法也都不行
    无奈想到了一个最简单暴力的方法,就是输出一下这个错误的torrent_info看看有什么信息,


    屏幕快照 2016-11-18 下午4.29.15.png

    这里需要注意下:libtorrent.framework是用c++写的,里面的很多的对象不能用oc的格式输出 得用c++的cout 输出才可以
    然后运行 结果如下


    屏幕快照 2016-11-18 下午4.30.44.png

    torrent_info = 0x0
    这样就很简单了,只要在最进一步的操作之前判断下if(ti == 0);就可以了 问题解决.

    相关文章

      网友评论

          本文标题:使用Libtorrent开发ios的BT下载遇到的问题(1)

          本文链接:https://www.haomeiwen.com/subject/aqqspttx.html