прослушивание socket.ip expressjs не является функцией

#javascript #node.js #socket.io

#javascript #node.js #socket.io

Вопрос:

пытаясь выполнить какой-либо проект, связанный с websockets, приведенный ниже код выдает ошибку

Ошибка типа: требовать (…).прослушивание не является функцией

ниже приведена моя попытка

 const app = require("express")();
const port = 3800;
const io = require('socket.io').listen(app.listen(port));
 

и указанная строка кода

 const io = require('socket.io').listen(app.listen(port));
 

любая помощь приветствуется. Спасибо.

Ответ №1:

require('socket.io') возвращает сокет.модуль ввода-вывода, и он не имеет .listen() метода непосредственно на нем. Вот почему вы получаете сообщение об ошибке, которое вы делаете. Существует дюжина способов инициализации socket.io . В этом случае вы можете сделать это:

 const io = require('socket.io')(app.listen(port));
 

Если вы хотите использовать сокет.ввод .listen -вывод, вы должны получить класс сервера из сокета.сначала ввод-вывод, потому что именно там находится метод.