У меня проблемы с запуском файла node server.js, потому что порт, который он хочет использовать, занят Laragon Apache, который позволяет мне открыть проект в браузере.
Это файл узла server.js:
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
var redis = require('redis');
server.listen(8890);
io.on('connection', function (socket) {
console.log("client connected");
var redisClient = redis.createClient();
redisClient.subscribe('message');
redisClient.on("message", function(channel, data) {
console.log("mew message add in queue "+ data['message'] + " channel");
socket.emit(channel, data);
});
socket.on('disconnect', function() {
redisClient.quit();
});
});
При запуске в cmder с узлом server.js нельзя использовать команду port.Node server.js в cmder:
client connected
events.js:160
throw er; // Unhandled 'error' event
^
Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
at Object.exports._errnoException (util.js:1022:11)
at exports._exceptionWithHostPort (util.js:1045:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1087:14)
D:\laragon\www\canvas-messenger\nodejs (master)
node server.js
С Laragon Apache на консоли браузера выглядит так:
Failed to load resource: net::ERR_CONNECTION_REFUSED
и
GET http://localhost:8890/socket.io/?EIO=3&transport=polling&t=1524944736161-36 net::ERR_CONNECTION_REFUSED
Ошибка, постоянно повторяющаяся, потому что узел server.js не может работать, я думаю.
Я попытался установить redis и socket io с эхо-сервером laravel, предоставив им разные порты, которые позволили бы им работать без проблем друг с другом, но функциональность чата в браузере все равно была бы потеряна.
Спасибо, что читаете!