Я пытаюсь следовать руководству по использованию socket.io с каркасом express.js и node.js.
В каждом учебном пособии, которому я следую, предлагается использовать следующие строки для установления соединения в app.js
var server = require('http').createServer(app);
var io = require('socket.io')(server);
server.listen(3000);
io.on('connection', function(client) {
console.log('Client connected...');
client.on('join', function(data) {
console.log(data);
});
})
Это сработало, если я использую порт, отличный от 3000, на котором мне нужно запустить приложение на http://localhost:3000/. Я получаю сообщение об ошибке, что порт 3000 уже используется.
После отладки и просмотра кода, я думаю, у меня есть представление о том, почему это происходит. В файле ./bin/www.js (создан автоматически с помощью Express JS) у нас есть следующие строки:
/**
* Get port from environment and store in Express.
*/
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
var server = http.createServer(app);
server.listen(port);
но я не уверен, как повторно использовать этот созданный сервер с тем же портом в моем app.js. Я совершенно новичок в node.js. Как правильно настроить socket io на платформе Express?