2013-05-16 64 views
2

我'能够通过这个代码在服务器检测时,客户端断开:如何重新连接从服务器到客户端

self._session.socket.on("close", function() { 
    console.log("client disconnected");  
} 

但我怎么可以尝试重新连接到断开客户端?

回答

1

由于客户端不在监听websocket,而只是连接到服务器,所以无法从服务器连接到客户端。

但是,您可以在您的客户端将代码重新连接到onclose(或只是close)事件中。通常这是通过用正确的参数重新创建客户端中的WebSocket对象来实现的。

东西为:

function connect(){ 
    var mywebsocket = new WebSocket("ws://(your url)"); 
    // ... my callbacks and functions... 
    mywebsocket.onclose = connect; // or arguments.callee 
} 
connect(); 

应能正常工作。 ;)

祝你好运。

1

如果客户端由于某种原因断开连接(互联网连接中断/服务器问题),它将自动重新连接。要查看已经进行了多少次尝试或状态,请看http://docs.meteor.com/#meteor_status

从版本0.6.3开始,如果互联网断开连接。一旦互联网回来,它也会尝试重新连接。

要从您的代码重新连接到某处,您可以从客户端运行Meteor.reconnect()

不幸的是,流星客户端无法侦听来自服务器的连接,因此服务器无法启动重新连接,您需要某种连接到服务器才能向客户端发送消息以执行某些操作,如重新连接。

相关问题