如何使用websockets制作crud应用程序?

时间:2013-11-22 15:09:18

标签: node.js express websocket socket.io

我想用socketio创建一个快速应用程序,一个简单的crud应用程序,但实时

socket.on('users:create',function(data){
    console.log(data);
    salt = cryptom.salt(32);
    hash = cryptom.hash(data.pass,salt);

                    u = new user({  name: data.name, 
                                    salt: salt,
                                    hash: hash,  
                                    email: data.email, 
                                    ci: data.ci, 
                                    telf: data.telf, 
                                    rif: data.rif, 

                                });
                    u.save(function (err) {
                        if(err){
                            console.log(err);

                        }else{

                            user.find({},function(err,user){
                                io.sockets.emit('users:index',user);
                            });

                        }});

  })

我想知道这是否正确,如果有效率通过websockets发送所有信息。

1 个答案:

答案 0 :(得分:3)

你可以做任何你喜欢的事。 Websockets的开销小于HTTP头,因此在这方面它们是有效的,它们的主要目的是尽可能有效地通过线路发送数据!

如果您问的是关于普通REST API的解决方案是否正确,那么它取决于您要构建的内容。 HTTP REST应用程序是在不需要事件时构建的,并且应用程序不需要实时更改。优点是您可以使用不同的HTTP方法在同一路由上执行不同的任务(即user上的DELETE方法将删除用户)。

你说你的应用程序是为实时事件而构建的,那么看起来websockets会适合你。这并不重要,因为有两种架构都可以做到这两点。