无法在订阅频道的redis客户端中接收消息;从laravel服务器发送的消息



我正在尝试订阅redis频道"JoinCall"并在控制台中记录消息。

消息正在从Laravel服务器发布

我的节点js服务器代码:


const app = require("express")();
const server = require("http").createServer(app);

const io = require("socket.io")(server, {
cors: {
origin: '*',
}
});

io.on("connection", () => {
console.log("Connected!");
});

var redis = require('redis');  
var url = "redis://@localhost:6379"; 
//var redis = require('redis-url').connect();
var client = redis.createClient(url);  
//var client = redis.createClient();
client.on("error", function(error) {
console.error(error);
});

client.on('message', function(channel, msg) {  
console.log("Message received: "+msg);
io.sockets.emit(msg);
});

client.subscribe('JoinCall');

console.log('starting server on 8001...');
server.listen(8001);

我的Laravel代码发布消息:


Redis::publish('JoinCall', "testing123");
Log::Debug("message published on JoinCall ");

我的Laravel redis设置:

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

问题出现在我的laravel redis设置中

在config/database.php中,有一个前缀被应用于频道名称;我不得不评论它

'redis' => [

'client' => env('REDIS_CLIENT', 'predis'),

'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
//'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
],

最新更新