我在局域网应用程序中使用SocketIO。
如果客户端启动且服务器已关闭,我该如何让它继续重试连接?
“connect_failed”事件不会触发,因为我在socket.io中遇到GET错误: “的 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);
}
}
但它没有重新连接,我认为这是因为JS错误...
如果可能的话,我试图避免页面刷新。
答案 0 :(得分:18)
我们可以手动使用套接字实例的重新连接方法。
socket.on('error', function (err) {
socket.socket.reconnect();
});