2012-11-27 30 views
13

Socket.IO ile ilgili bir sorun yaşıyorum.Socket.io hata yönetimi

Soket hatalarından sonra soketi yeniden bağlamaya çalışıyorum ancak yeniden bağlanmayacak. İşte kodu:

socket = io.connect(host, options); 
socket.on('connect', this.onConnect); 
socket.on('error', function() { 
    //here i change options 
    socket = io.connect(host, options); 
}); 

Neden yeni bağlantı oluşturmuyor? (Ana makine ve port sabit tutulur ve ilk bağlantı için çalışır).

+4

1) 'error' olay nedir? 2) Yeni bağlantı oluşturmadığını nereden biliyorsunuz? 3) Yeni bağlantı oluştururken tüm olay işleyicilerini bir kez daha ayarlamanız gerekiyor, bunu yapıyor musunuz? – freakish

+1

1) "error" varsayılan socket.io olayıdır (https://github.com/LearnBoost/socket.io/wiki/Authorizing) 2) yeni bağlantı oturum açmadı 3) evet, – user1856728

+0

Kayıtlı mıyım? Sunucu tarafında mı? Ya da müşteri tarafı? – freakish

cevap

9

{ 'force new connection': true } seçeneğini io.connect'a eklemeyi deneyin. Bağlantıyı tekrar denemediği anlaşılıyor.

Soket IO, bu seçeneği belirtmediğiniz sürece, daha önce denediği bir ana bilgisayara yeniden bağlanmayacaktır. İşte

seçenekli bir pasajı in-line belirtilen hash edilir:

io.connect(host, { 
    'force new connection': true 
}); 

Burada seçenekler hakkında daha fazla bilgi edinebilirsiniz: https://github.com/LearnBoost/Socket.IO/wiki/Configuring-Socket.IO