gpt4 book ai didi

node.js - Node js不会订阅具有其他名称的redis channel

转载 作者:可可西里 更新时间:2023-11-01 11:13:06 26 4
gpt4 key购买 nike

我无法让 Node js 识别除“消息”之外的任何其他 channel 。 channel 名称“消息”已被识别,但当我将 channel 名称更改为任何其他名称时, Node 不会订阅和响应 channel 名称。

示例:

var sub = redis.createClient();

sub.subscribe('message');

sub.on('message', function (channel, data) {

data = JSON.parse(data);
console.log('chat', channel, data);

});

/*
* Server
*/

// Start listening for incoming client connections
io.sockets.on('connection', function (socket) {

console.log('NEW CLIENT CONNECTED');


socket.on('disconnect', function () {
console.log('DISCONNECT');
//I've tried using unsubscribe to message to fix problem
//sub.unsubscribe('message');
});

});

以上代码运行并输出到控制台:

chat message { room: 1 }
DISCONNECT
NEW CLIENT CONNECTED

以下代码不记录 channel 订阅日志:

NEW CLIENT CONNECTED DISCONNECT

var sub = redis.createClient();

sub.subscribe('chat');

//Does not output anything to console
sub.on('chat', function (channel, data) {

data = JSON.parse(data);
console.log('chat', channel, data);

});

/*
* Server
*/

// Start listening for incoming client connections
io.sockets.on('connection', function (socket) {

console.log('NEW CLIENT CONNECTED');


socket.on('disconnect', function () {
console.log('DISCONNECT');
//I've tried using unsubscribe to message to fix problem
//sub.unsubscribe('message');
});

});

redis-cli 监控:

1485546938.714486 [0 127.0.0.1:49881] "info"
1485546938.717446 [0 127.0.0.1:49881] "subscribe" "message"
1485546945.902959 [0 127.0.0.1:49897] "SELECT" "0"
1485546945.903406 [0 127.0.0.1:49897] "PUBLISH" "message" "{\"room\":1}"

1485546868.850918 [0 127.0.0.1:49857] "info"
1485546868.853824 [0 127.0.0.1:49857] "subscribe" "chat"
1485546875.332391 [0 127.0.0.1:49873] "SELECT" "0"
1485546875.332861 [0 127.0.0.1:49873] "PUBLISH" "chat" "{\"room\":1}"

最佳答案

无论 channel 名称如何,参数始终为“消息”。是这样的:

sub.on("message", function (channel, message) {
console.log("sub channel " + channel + ": " + message);
});

关于node.js - Node js不会订阅具有其他名称的redis channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41902946/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com