3

如果我做

socket.emit("eventname",data);

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

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

但我想以某种方式覆盖对象以方便地处理或修改所有输出(和输入事件数据),例如修剪对象的字符串。O 还会为语法异常添加一个过滤器,以避免可能导致进程崩溃的错误格式的 json 或注入过滤器......

如何在不直接修改 socket.io 代码但以某种方式重写的情况下做到这一点。对不起,如果这个问题很愚蠢。

4

1 回答 1

4

你可以重新定义 socket.emit

socket.__emit = socket.emit

socket.emit = function (channel, data) {
  //process data;
  socket.__emit(channel, data);
};
于 2013-03-24T18:09:55.803 回答