2013-03-24 3 views
1

если я сделатькак фильтровать все Socket.io данные о событиях в общем

socket.emit("eventname",data); 

Я излучающие событие, экипировку. если я хочу фильтровать это излучение я бы прикрепить функцию и использовать эту функцию

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

, но я хочу, чтобы заменить объект в некотором роде обобщенно всех (и ввод данных событий) вывод для обработки или модифицирован, а например обрезка строки объектов. O также добавит фильтр для исключения синтаксиса, чтобы избежать неправильного форматированного json, который может свернуть процесс или фильтр впрыска ...

Как это сделать без прямого изменения кода socket.io, но переписывая как-то. Извините, если этот вопрос глуп.

ответ

3

Вы можете просто переопределить socket.emit

socket.__emit = socket.emit 

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

Ах да. Благодарю. Я отставлен, мне это не пришло в голову. Скопируйте исходный объект и вставьте его в переопределенную. – user1629569

Смежные вопросы