我能够通过此代码检测客户端何时与服务器断开连接:
self._session.socket.on("close", function() {
console.log("client disconnected");
}
但是如何重新连接断开连接的客户端呢?
答案 0 :(得分: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 :(得分:1)
如果客户端由于某种原因(互联网连接中断/服务器问题)断开连接,它将自动重新连接。要查看已完成的尝试次数或状态,请查看http://docs.meteor.com/#meteor_status
从版本0.6.3开始,如果互联网断开连接。一旦互联网恢复,它将尝试重新连接。
要从代码重新连接,您可以从客户端运行Meteor.reconnect()
。
不幸的是,meteor客户端无法侦听来自服务器的连接,因此服务器无法启动重新连接,您需要与服务器建立某种连接,以便向客户端发送消息以执行重新连接等操作。