如何过滤所有socket.io事件数据

如果我做

socket.emit("eventname",data); 

发射一个事件到套接字。 如果我想过滤这个发射,我会附加一个函数并使用这个函数

 function emit(socket,eventname,data) { .. // process event data socket.emit(eventname,data); // emiting processed } 

但我想以某种方式覆盖对象,以便一般地处理或修改所有输出(和input事件数据),例如修剪对象的string。 O也会添加一个filter的语法exception,以避免错误格式的JSON,可以折叠进程或注入filter…

如何做到这一点,而不直接修改socket.io代码,但重写。 对不起,如果这个问题是愚蠢的。

你可以重新定义socket.emit

 socket.__emit = socket.emit socket.emit = function (channel, data) { //process data; socket.__emit(channel, data); };