如果我这样做
socket.emit("eventname",data);
我向socket发送事件。如果我想过滤这个发射我会附加一个函数并使用这个函数
function emit(socket,eventname,data)
{
.. // process event data
socket.emit(eventname,data); // emiting processed
}
但我希望以某种方式覆盖对象,以便方便地处理或修改所有输出(和输入事件数据),例如修剪对象的字符串。 O还会为语法异常添加一个过滤器,以避免错误格式化的json,它可能会崩溃进程或注入过滤器......
如何在不直接修改socket.io代码但以某种方式重写的情况下执行此操作。对不起,如果这个问题很愚蠢。
答案 0 :(得分:4)
您可以重新定义socket.emit
socket.__emit = socket.emit
socket.emit = function (channel, data) {
//process data;
socket.__emit(channel, data);
};