我目前正在构建一个新应用程序,在基本级别上,它允许用户添加需要完成的任务,然后让不同的用户组选择任务并完成它。
以前,我接手构建了一个用 NodeJS 和 Socket.io 编写的实时聊天应用程序,并且所有消息都通过套接字连接发布到数据库。
在当前的应用程序中,我也在做同样的事情,但在考虑是否最好通过路由将信息发布到数据库,然后在成功时发出套接字事件以更新可用任务列表。
我就是来求教的,请问你们是怎么做的?通过路由或套接字向数据库提交信息?
如果你走这条路,事情几乎已经安排好了,你可以确定你的更新是否有效。默认情况下,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);
});