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 に答える