イベントをリッスンするチャネルにサブスクライブした node.js アプリケーションがあります。そのイベントを聞くと、別のイベントを新しいチャネルに発行します。パブリッシュ/サブスクリプションに MubSub を使用しています。私の問題は、ページがリロードされるたびに何をしても、2 つのリスナーと 2 つのパブリッシュ、3、4、5、6 などがあることです。
切断されない理由がわかりませんか?
if (curURL == '/handwash') {
db2.handwash.find({
"event": "handwash"
}).sort({
"message.time": -1
}).limit(10).forEach(function(error, x) {
if (error || !x) {
console.log("error getting items");
} else {
socket.emit('archive', x.message);
}
});
channel2.subscribe('dealer out', function(message) {
console.log("new dealer event " + message);
db.events.find({
"event": "wash"
}).sort({
"message.time": -1
}).limit(1).forEach(function(error, x) {
if (error || !x) {
console.log("error getting items");
} else {
console.log("found last handwash..." + x.message.type + "....publishing");
var message = ({
'tableid': 123,
'time': Date(),
'type': x.message.type,
})
channel.publish('handwash', message );
socket.emit('message', message);
}
});
//socket.emit('message', message);
});
socket.on("disconnect", function(s) {
console.log("Disconnected from global handler");
});
}