尝试向用户发送通知,我想创建一个系统,一旦用户登录套接字连接并查询通知计数,然后一旦打开通知,未来的通知就会被扔进套接字设置进程并增加当前计数它应该将计数重置为 0,然后一旦套接字关闭,计数应该保存到数据库中,数据库应该返回只存储通知计数。
我正在使用 node.js 和 mongodb 服务器端。
这是我目前正在尝试转换为 socket.io 的代码
exports.notificationsNumber = function(req, res) {
console.log('notifying start');
Notification.findOne({userId: req.signedCookies.userid}, function(err, user) {
if(err) {
res.send(err);
console.log('notifying err');
} else {
console.log('notifying');
var notify = user.notifications;
res.json(notify);
}
});
};
App.js 文件:
app.get('/notificationsNumber', user.notificationsNumber);
var io = require('socket.io');
var connect = require('connect');
var notificationsN = io.listen(server);
notificationsN.sockets.on('connection', function(socket) {
socket.emit('entrance', {message: 'send notifications Count'});
socket.on('set nickname', function(name) {
socket.set('nickname', name, function() {
socket.emit('ready');
});
});
socket.on('disconnect', function(){
notificationsN.broadcast.emit('exit', {message: 'close connection'});
});
});