1
NodeJS 및 Redis를 사용하여 채팅 응용 프로그램에서 작업하고 있습니다. Redis 구독을 사용하는 이유는 사용자가 로그인 할 때 다른 사용자에게 알릴 필요가 있기 때문입니다. 처음에는 메시지 리스너가 한 번 호출 할 때 처음에는 잘 작동했지만 동일한 사용자가 페이지를 새로 고침하면 게시 메소드가 두 번 호출 된 것으로 나타났습니다.메시지 청취자의 Redis가 두 번 트리거 됨
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);
});
당신이 특정 문제를 명확히 또는 정확하게 당신이 필요 강조하기 위해 추가 정보를 추가하십시오 을 요구하는지 불분명하기 때문에이 질문에 플래그. 현재 작성된 내용이므로 귀하가 원하는 내용을 정확하게 말하기는 어렵습니다. How to Ask 페이지에서이 질문에 대한 설명을 참조하십시오. – bitoiu
나는 나의 질문을 업데이 트하는 데 도움이 될 수 있습니다 내 문제를 식별하는 데 도움이 될 수 있습니다, @bitoiu 또한 내 질문에 투표를 제거하십시오 제발, 그리고 미리 감사드립니다. – nkarmi
도움이 될만한 유용한 코드를 제공해야합니다. 매우 광범위한 시나리오를 설명하고 있습니다. http://stackoverflow.com/help/how-to-ask – bitoiu