有没有办法订阅 Socket.io 上的任何发出事件

Is there a way to subscribe to any emit event on Socket.io?

本文关键字:任何发 出事件 io Socket 有没有      更新时间:2023-09-26

我有一个使用 socket.io 进行前端和后端通信的应用程序。我在整个代码库中有多个 socket.emit() 函数实例,我想知道是否可以在发生emit时收到通知。我在想这样的事情:

socket.on('emit', function() {
    // do something
})

不过,我无法在文档中找到这样的东西。可能吗?

编辑:当然,每当有人发出带有'emit'字符串的事件时,这都会提醒我。我希望在使用任何字符串时收到通知。

我认为没有任何这样的功能,但是您可以尝试的是,每当发出事件时都会发出一个额外的常见事件,例如

socket.emit("common", "required data here");

每当发出事件时。这样,每次发生事件时,您也会发出"公共"事件,然后您可以捕获该事件。

因此,您可以在每次发出时都使用socket.on("common", function(){});

我希望你明白这个想法。

要将数据发送给连接到套接字的每个人,您需要这样的东西:::

var io = require('socket.io')(http);    
io.on('connection', function (socket) {
    io.emit('status', 'Send this to everyone connected!');

 });