Ошибка в электронном | Node.js
Я пытаюсь скачать торрент с Electron и Node.js, используя WebTorrent. Ну, это мой код в main.js
const electron = require('electron')
const { app, BrowserWindow } = electron
const path = require('path')
const url = require('url')
const server = require('./server')
let win
function createWindow() {
win = new BrowserWindow ({ vibrancy: 'dark', width: 400, height: 600, frame: false, resizable: false, transparent: true })
win.loadURL(url.format({
pathname: path.join(__dirname, 'index.html'),
protocol: 'file',
slashes: true
}))
}
app.on('ready', createWindow)
И мой код в server.js:
require('http').createServer(function (req, res) {
var WebTorrent = require('webtorrent-hybrid')
var client = new WebTorrent()
var magnetURI = 'magnet:?xt=urn:btih:EF3B95AEF1C94FC8E98825386C3B12560FE21CFF&tr=udp://glotorrents.pw:6969/announce&tr=udp://tracker.opentrackr.org:1337/announce&tr=udp://torrent.gresille.org:80/announce&tr=udp://tracker.openbittorrent.com:80&tr=udp://tracker.coppersurfer.tk:6969&tr=udp://tracker.leechers-paradise.org:6969&tr=udp://p4p.arenabg.ch:1337&tr=udp://tracker.internetwarriors.net:1337'
client.add(magnetURI, { path: 'movies' }, function (torrent) {
torrent.on('done', function () {
console.log('torrent download finished')
})
})
res.end('Hello from server started by Electron app!');
}).listen(9000)
Проблема начинается, когда я запускаю приложение и появляется это сообщение на консоли:
(узел:9032) MaxListenersExceededWarning: Обнаружена возможная утечка памяти в EventEmitter. Добавлено 11 готовых слушателей. Используйте emitter.setMaxListeners() для увеличения лимита
1 ответ
Это просто предупреждение!!!
Согласно документации Nodejs.org
https://nodejs.org/api/events.html
По умолчанию EventEmitters выводит предупреждение, если для определенного события добавлено более 10 слушателей. Это полезное значение по умолчанию, которое помогает найти утечки памяти. Очевидно, что не все события должны быть ограничены только 10 слушателями. Метод emitter.setMaxListeners() позволяет изменять ограничение для этого конкретного экземпляра EventEmitter. Значение может быть установлено в бесконечность (или 0), чтобы указать неограниченное количество слушателей.
Так что вам нужно добавить строку ниже в вашем коде
"Emitter.setMaxListeners (п)"