我尝试用电子和 webtorrent 编写一个小的 torrent 客户端。起初一切似乎都很好,但有时当一个 torrent 完成下载时,结果文件没有被写入磁盘。
我的项目是通过 SimulatedGREG/electron-vue 样板设置的。
这是我的洪流客户端类的代码:
const WebTorrent = require('webtorrent');
const client = new WebTorrent();
export default class TorrentClient {
download (downloadInfo) {
console.log('download torrent from magnet link:', downloadInfo.magnetLink);
let torrent = client.add(downloadInfo.infoHash);
torrent.on('download', function (bytes) {
console.log('just downloaded: ' + bytes);
console.log('total downloaded: ' + torrent.downloaded);
console.log('download speed: ' + torrent.downloadSpeed);
console.log('progress: ' + torrent.progress);
});
torrent.on('done', function () {
console.log('done...');
});
}
}