socket.io消息

p8h8hvxi  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(391)

是否可以发送消息(例如使用 alert )当管理员更改了数据库中的某些内容时,是否向所有用户发送?
情况:用户浏览汽车优惠,并在执行此操作时管理员更改了少数优惠的价格-->用户会收到通知。

jjhzyzn0

jjhzyzn01#

可以在每个db操作结束时使用socket.blast()。
因此,如果有任何用户正在侦听blasted消息,您可以进行api调用,以便它获取新记录。
[http://node-machine.org/machinepack-sockets/blast][1]

sq1bmfud

sq1bmfud2#

只需将数据库更新事件耦合到如下所示的发射:
后端

io.on('connection', (socket) => {
    console.log('A user connected');

    // handling event from the front-end:
    socket.on('clientEvent', function(data) {
        // Database update happens before this
        socket.emit('databaseUpdate', { description: 'Database is updated'});
     });
});

这样,每次数据库更新时,一个新事件都会发送到前端,发送给所有连接的用户。您的前端现在可以按如下方式侦听它(连接的前端侦听来自后端的10个数据库更新):
前端

var socket = io();
// now we just log the updated data but in this callback you provide your own implementation.
socket.on('databaseUpdate', (data) => console.log(data.description));

希望你能在这里找到有用的答案
来源1
来源2

相关问题