当我运行node serve.js时,出现以下错误
throw er; // Unhandled 'error' event
^
Error: Redis connection to 127.0.0.1:6379 failed - connect ENFILE 127.0.0.1:6379 - Local (undefined:undefined)
at Object.exports._errnoException (util.js:1018:11)
at exports._exceptionWithHostPort (util.js:1041:20)
at connect (net.js:880:16)
at net.js:969:9
at _combinedTickCallback (internal/process/next_tick.js:73:7)
at process._tickCallback (internal/process/next_tick.js:104:9)
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();
});
});
如何修复上述错误。我有安装节点,npm,predis和socet.io
答案 0 :(得分:0)
我遇到了同样的问题,但我通过安装redis并在终端中执行它来解决它。
如果您使用的是mac,可以使用以下命令轻松地通过brew安装redis:
brew install redis
安装后运行以下命令:
redis-serve
这项工作适合我!
答案 1 :(得分:0)
我在 Laravel 中遇到了这个问题,问题是我在 homestead/vagrant box 之外运行了我的套接字
因此,如果您在 laravel 中遇到这种情况,请通过 SSH 进入 homestead/vagrant 导航到您的根项目并运行您的套接字脚本:)