2015-12-12 16 views

cevap

5

Sadece Firebug'daki sokete baktım, '_callbacks' adında bir üye var. o

if (socket._callbacks[strHandlerName] == undefined) { 
    //Handler not present, install now 
     socket.on(strHandlerName, function() { ... }); 
    } 

Thats:

O kadar biri zaten kayıtlı sanki kadar basittir tespit, tüm kayıtlı geri içeriyor!

+1

, işleyici adları tüm önünde, $ olması. yani. socket._callbacks ["$" + strHandlerName] ' – kryo

1

Bu şekilde çalışıyorum.

var baseSocketOn = socket.on; 

    socket.on = function() { 
     var ignoreEvents = ['connect'] //maybe need it 

     if (socket._callbacks !== undefined && 
      typeof socket._callbacks[arguments[0]] !== 'undefined' && 
      ignoreEvents.indexOf(arguments[0]) === -1) { 
       return; 
     } 
     return baseSocketOn.apply(this, arguments) 
    }; 

Bu

en iyi uygulamayı (node.js üzerine socket.io-istemci/engine.io-istemcisi kullanarak) Benim için

İlgili konular