RocketIOではevent_emitterという(node.jsのを参考にして作った)イベント管理機構を使っている(Ruby用JavaScript用


event_emitterの全てのイベントを取得する手段がある


Ruby

user.on :* do |event_name, args|
puts event_name # 呼び出されたイベント名
p args
end


JavaScript
user.on('*', function(event_name, data){
console.log(event_name + ' was called');
console.log(data);
});


RocketIOでも、これを使っているので
Sinatra::RocketIO.on :* do |event_name, args|
puts "#{event_name} - #{args.inspect}"
end
とするとサーバー側で起こったイベント全部取れるし

var io = new RocketIO().connect();
io.on("*", function(event_name, args){
console.log(event_name);
console.log(args);
});
これでクライアント側のイベント全部取れる。


関係ないクライアントにデータ送信してるかも、とか、余計なイベント送ってるかも等の調査に便利。