2012-09-26 16 views
6

Bir LAN uygulamasında SocketIO kullanıyorum.İstemci sayfası yüklenir ve sunucu çalışmıyorsa socket.io bağlantısını tekrar deneyin.

İstemci başlatılırsa ve sunucu kapalıysa, bağlantıyı yeniden denemeyi nasıl sağlayabilirim?

ben socket.io bir GET hatası alıyorum çünkü "connect_failed" olayı değildir: "http://172.20.2.10:8080/socket.io/1/?t=1348654723279"

var socket = io.connect('172.20.2.10',{port:8080});  
var connected = false; 

    socket.on('connect',function(){         
        connected = true; 
       }); 
    socket.on('error', function (err) { 
        reconnect(); 
       }); 

    function reconnect(){ 
        if (!connected){ 
         var t = setTimeout(function() { 
          socket = io.connect('172.20.2.10',{port:8080}); 
          reconnect(); 
          console.log("Socket REC"); 
         },1000); 

        } 
       } 

Ama mümkünse bir sayfa yenileme önlemek çalışıyorum

o zaman ... çünkü JS hata olduğunu düşünüyorum yeniden değildir:

Ben denedim.

+0

Neden "autoConnect" ayarını denemiyorsunuz? – youken

cevap

18

Soket örneğinin yeniden bağlan yöntemini el ile kullanabiliriz.

socket.on('error', function (err) { 
socket.socket.reconnect(); 
}); 
İlgili konular