Как использовать webtorrent в браузере browser
У меня возникли проблемы с примером, показанным в https://github.com/feross/webtorrent Я пытаюсь использовать код в браузере. Поэтому я сначала создаю файл с именем app.js
app.js
var WebTorrent = require('webtorrent')
var concat = require('concat-stream')
var client = new WebTorrent()
console.log('Hi there');
client.download('magnet:?xt=urn:btih:XXXXXXXX', function (torrent) {
// Got torrent metadata!
console.log('Torrent info hash:', torrent.infoHash)
torrent.files.forEach(function (file) {
// Get the file data as a Buffer (Uint8Array typed array)
file.createReadStream().pipe(concat(function (buf) {
// Append a link to download the file
var a = document.createElement('a')
a.download = file.name
a.href = URL.createObjectURL(new Blob([ buf ]))
a.textContent = 'download ' + file.name
document.body.appendChild(a)
}))
})
})
Затем я набираю команду browserify app.js > bundle.js
так что это может заставить работать код для браузера. Я создаю другой файл с именем index.html:
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>test</title>
<script src="bundle.js"></script>
</head>
<body id="home">
<h1>test</h1>
</body>
</html>
Из консоли я вижу только "Привет!" Кажется, что функция client.download() не работает. Почему это случилось? Я новичок в browserify, что-то не так с командой, которую я использую?
1 ответ
WebTorrent может загружать только те торренты, которые явно загружены в сеть WebTorrent. Торрент-клиенты должны поддерживать WebRTC для взаимодействия с веб-браузерами. В настоящее время ни один клиент не поддерживает его, но вы можете использовать http://instant.io/ чтобы начать заполнять новый торрент и попробовать загрузить его с помощью библиотеки WebTorrent в своем приложении. Включите отладочные журналы на http://instant.io/, установив `localStorage.debug = '*', чтобы получить информационный хэш торрента.
Вы также можете узнать больше здесь:
- Как работает WebTorrent? ( https://github.com/feross/webtorrent/issues/39)
- WebRTC BEP ( https://github.com/feross/webtorrent/issues/175)