Узел порт js уже используется - PullRequest
0 голосов
/ 11 апреля 2019

Когда я запускаю свой веб-сервер, узел выбрасывает listen EADDRINUSE: address already in use :::3000, я пытался использовать netstat и искать порт 3000 (или другой, это происходит с любым портом), но ничего не найдено.Также нет процессов узла в диспетчере задач, нет веб-страницы на localhost:3000.Также я попытался перезагрузить окна, но ничего не изменилось.

Ответы [ 2 ]

0 голосов
/ 11 апреля 2019

Из вашего кода вы пытаетесь привязать модуль сокета к порту 3000:

var io = require('socket.io')(3000);
/* ... */
app.listen(3000);

таким образом, когда сервер пытается привязать себя, порт уже in use.

Вы должны создать HTTP-сервер и затем привязать к нему модуль socket.io:

const app = require('express')();
const server = require('http').createServer(app);
const io = require('socket.io')(server);
io.on('connection', () => { /* … */ });
server.listen(3000);

(взято из документации по socket.io)

0 голосов
/ 11 апреля 2019

Если вы работаете в Windows 10, я бы порекомендовал попробовать Resource Monitor.На вкладке «Сеть» есть представление «Порты прослушивания», в котором должно быть указано, какой процесс использует порт 3000

Монитор ресурсов

...