我'能夠通過這個代碼在服務器檢測時,客戶端斷開:如何重新連接從服務器到客戶端
self._session.socket.on("close", function() {
console.log("client disconnected");
}
但我怎麼可以嘗試重新連接到斷開客戶端?
我'能夠通過這個代碼在服務器檢測時,客戶端斷開:如何重新連接從服務器到客戶端
self._session.socket.on("close", function() {
console.log("client disconnected");
}
但我怎麼可以嘗試重新連接到斷開客戶端?
由於客戶端不在監聽websocket,而只是連接到服務器,所以無法從服務器連接到客戶端。
但是,您可以在您的客戶端將代碼重新連接到onclose
(或只是close
)事件中。通常這是通過用正確的參數重新創建客戶端中的WebSocket對象來實現的。
東西爲:
function connect(){
var mywebsocket = new WebSocket("ws://(your url)");
// ... my callbacks and functions...
mywebsocket.onclose = connect; // or arguments.callee
}
connect();
應能正常工作。 ;)
祝你好運。
如果客戶端由於某種原因斷開連接(互聯網連接中斷/服務器問題),它將自動重新連接。要查看已經進行了多少次嘗試或狀態,請看http://docs.meteor.com/#meteor_status
從版本0.6.3開始,如果互聯網斷開連接。一旦互聯網回來,它也會嘗試重新連接。
要從您的代碼重新連接到某處,您可以從客戶端運行Meteor.reconnect()
。
不幸的是,流星客戶端無法偵聽來自服務器的連接,因此服務器無法啓動重新連接,您需要某種連接到服務器才能向客戶端發送消息以執行某些操作,如重新連接。