Экспресс socket.io Порт 3000 уже используется - PullRequest
0 голосов
/ 04 сентября 2018

Я бы хотел создать приложение для чата в реальном времени на React-Native,

У меня есть бэкэнд-экспресс

введите описание изображения здесь

Теперь я хочу использовать socket.io в экспресс-бэкэнде, но не в app.js. Я бы хотел использовать socket.io в socketmessage.js, потому что у меня больше api этого файла

Но верните мне эту ошибку; Порт 3000 уже используется

Как я могу решить эту проблему?

Я использую этот код для socket.io в socketmessage.js

var express = require('express');
var http = require('http');
var router = express.Router();
var socketio = require('socket.io');

var app = express();
var server = http.Server(app);
var websocket = socketio(server);
server.listen(3000, () => console.log('listening on *:3000'));

// The event will be called when a client is connected.
websocket.on('connection', (socket) => {
  console.log('A client just joined on', socket.id);
});

module.exports = router;

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

Для окон:

Шаг 1 : В командной строке введите следующую команду:

netstat -ano | findstr yourPortNumber

Это даст PID, который является идентификатором процесса

Шаг 2 : убить задачу, введя следующую команду:

taskkill / PID yourPIDNumber

Шаг 3 : Если второй шаг не работает, добавьте / F ко второй команде следующим образом:

taskkill / PID yourPIDNumber / F

0 голосов
/ 04 сентября 2018

Порт 3000 на вашем компьютере уже используется другим процессом. Следуйте приведенным ниже командам, чтобы освободить порт.

lsof -i :3000

Приведенная выше команда выводит список процессов, используя PID из результата, и выполняет следующую команду:

kill -9 PID

Теперь перезапустите приложение.

На окнах

netstat -a -n -o | find "3000"

Taskkill /PID <PIDNumber> /F
...