【发布时间】:2015-02-06 20:57:00
【问题描述】:
我正在使用 NodeJS 和 Redis 开发聊天应用程序,为什么我使用 Redis 订阅,因为我需要在用户登录时通知其他用户,当用户第一次登录时我的问题就开始了它工作正常on消息监听器调用了一次,但是当同一个用户刷新页面时,我发现publish方法被调用了两次。
这是我使用的代码示例:
var redisClient = redis.createClient({
auth_pass: password
});
var myServer;
myServer = require('http').createServer(app);
var socketIo = require('socket.io').listen(myServer);
myServer.listen(port);
redisClient.subscribe('myChannel');
socketIo.on('connection', function(dbSocket) {
var redisClient2 = redis.createClient({
auth_pass: password
});
/***Code for handle request***/
}
redisClient.on('message', function(channel, message) {
//When refresh page , and I call publish method , the system enter message listener twice
var data = JSON.parse(message);
});
【问题讨论】:
-
标记此问题,因为不清楚您在问什么 请澄清您的具体问题或添加其他详细信息以准确突出您的需要。正如目前所写的那样,很难准确地说出你在问什么。请参阅“如何提问”页面以获得澄清此问题的帮助。
-
我更新了我的问题,这可能有助于您识别我的问题,@bitoiu aslo 您能否删除对我的问题的投票,并提前致谢。
-
您需要提供一段可操作的代码,以便我们为您提供帮助。您正在描述一个非常广泛的场景。请访问stackoverflow.com/help/how-to-ask
-
@bitoiu 这是我使用的代码示例,希望能帮助您找到我的问题。