Socket.io:如何处理服务器上的所有传入消息?

2023-12-23

我希望能够在单个处理程序中处理来自客户端的所有消息。

客户端代码示例:

var socket = io.connect('http://localhost');
socket.emit('news', { hello: 'test' });
socket.emit('chat', { hello: 'test' });

服务器代码示例:

io.sockets.on('connection', function (socket) {
socket.on('message', function (data) {
    console.log(data);
}); });

我希望能够记录每条消息,即使它是通过新闻、聊天或任何其他名称发送的。这可能吗?

注意:上面的服务器代码不起作用。当前没有记录任何内容。我只是想知道是否有一个事件可以处理每个发出名称的所有消息。


这可以通过覆盖来实现套接字.$emit功能

//Original func
var x = socket.$emit;

socket.$emit = function(){
     var event = arguments[0];
     var feed  = arguments[1];

     //Log
     console.log(event + ":" + feed);

    //To pass listener  
    x.apply(this, Array.prototype.slice.call(arguments));       
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Socket.io:如何处理服务器上的所有传入消息? 的相关文章

随机推荐