Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为实时通知实现socket.io_Javascript_Node.js_Mongodb_Socket.io - Fatal编程技术网

Javascript 为实时通知实现socket.io

Javascript 为实时通知实现socket.io,javascript,node.js,mongodb,socket.io,Javascript,Node.js,Mongodb,Socket.io,试图向用户发送通知,我想创建一个系统,一旦用户登录套接字连接并查询通知计数,然后将未来的通知抛出到套接字集进程并增加当前计数,一旦打开通知,应将计数重置为0,然后,一旦套接字关闭,计数应保存到数据库中,数据库应返回到仅存储通知计数 我正在使用node.js和mongodb服务器端 下面是我目前正在尝试转换为socket.io的代码 exports.notificationsNumber = function(req, res) { console.log('notifying

试图向用户发送通知,我想创建一个系统,一旦用户登录套接字连接并查询通知计数,然后将未来的通知抛出到套接字集进程并增加当前计数,一旦打开通知,应将计数重置为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'});
    });




});