Sails JS套接字事件在服务器重新启动后不触发

sails js socket events does not triggered after server restart

本文关键字:重新启动 服务器 JS 套接字 事件 Sails      更新时间:2023-09-26

我有一个模型用户存储在Mongo中(也存储在redis中的用户会话)。例如,用户有这样的 ID - user_1 和 user_2。从客户端发送消息user_1

socket.post('/user/move', {value: "some_value"}, function(res) {
        log('on move message: ', res);
    });

"移动"的控制器是

move: function(req, res, next) {
   var value = req.param('value');
   User.message("user_2", {from: "user_1", value: value});
}

它工作user_2收到消息。但是,如果我重新启动 sails 服务器并尝试发送(制作套接字帖子)相同的事件,请不要交付。

我找到了我的问题的解决方案。服务器重新启动后,我们这样做

socket.on('connect', function socketConnected() {
    socket.get('/user');
}

这是将订阅用户到模型用户事件。