我在启动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启动它时,无法在cmder中使用port.Node server.js命令:
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无法运行我猜。
我尝试使用laravel echo服务器安装redis和socket io,为它们提供了不同的端口,这些端口允许它们互相产生问题,但浏览器中Chat的功能仍然会丢失。
感谢您的阅读!