是否有一个函数来拦截客户端的服务器上的所有socket.io数据

socket.io客户端代码可以使用这个

var socket = io('http://localhost:8888'); socket.on('news', function (data) { socket.emit('my other event', { my: 'data' }); }); 

但是我想拦截由socket.io发出的服务器的所有数据,不仅是新闻,然后处理数据。 那可能吗。

你想要的是注册“套接字”发出的所有事件。 这个问题在这里被广泛讨论。 在socket.io代码中这是一个不行,但评论者build议一些方法来做到这一点。

你最好的select可能是遵循这个道路 :

 (function() { var emit = socket.emit; socket.emit = function() { console.log('***','emit', Array.prototype.slice.call(arguments)); emit.apply(socket, arguments); }; var $emit = socket.$emit; socket.$emit = function() { console.log('***','on',Array.prototype.slice.call(arguments)); $emit.apply(socket, arguments); }; })(); 

请看链接的主题了解更多信息。

你可以在这里find更多的信息来做一些其他的方法。