【问题标题】:Node JS & Socket.io Advice - Is it better to post information to a database through a route, or through the socket?Node JS & Socket.io Advice - 是通过路由还是通过套接字将信息发布到数据库更好?
【发布时间】:2023-04-03 04:30:01
【问题描述】:

我目前正在构建一个新应用程序,在基本级别上,它允许用户添加需要完成的任务,然后让不同的用户组选择并完成任务。

之前,我负责构建一个使用 NodeJS 和 Socket.io 编写的实时聊天应用程序,并且所有消息都通过套接字连接发布到数据库。

在当前的应用程序中,我也在做同样的事情,但我正在考虑是否最好通过路由将信息发布到数据库,然后在成功时发出套接字事件以更新可用任务列表。

我只是在寻求建议,你们会怎么做呢?通过路由或套接字向数据库提交信息?

【问题讨论】:

    标签: node.js sockets socket.io express-4


    【解决方案1】:

    如果您按照这种方式进行操作,您可以确定您的更新是否有效。默认情况下,Socket 不保证成功或失败。

    但你可以通过编程来实现它。例如

    客户端:发送数据

    socket.emit('update', data); // send data
    

    服务器:接收数据并返回操作是否成功的更新

    socket.on('update', function(data){
        findOrUpdateOrWhateverAsync(function(err){
            if(!err) socket.emit('update', null); // send back a "null" on success
            else socket.emit('update', err.message); // or send back error message
        });
    });
    

    客户端:接收错误/成功更新

    socket.on('update', function(err){
        if(err) alert(err);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-12
      • 1970-01-01
      • 1970-01-01
      • 2021-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多