次のコードで、クライアントがサーバーから切断されたことを検出できます。
self._session.socket.on("close", function() {
console.log("client disconnected");
}
しかし、切断されたクライアントに再接続するにはどうすればよいでしょうか?
クライアントが何らかの理由 (インターネット接続の中断/サーバーの問題) で切断された場合、クライアントは自動的に再接続します。試行回数やステータスを確認するには、http://docs.meteor.com/#meteor_status をご覧ください。
バージョン 0.6.3 以降、インターネットが切断された場合。インターネットが復旧するとすぐに、再接続も試みます。
Meteor.reconnect()
コードから再接続するには、クライアントから実行できます。
残念ながら、Meteor クライアントはサーバーからの接続をリッスンできないため、サーバーは再接続を開始できません。再接続などを行うためにクライアントにメッセージを送信するには、サーバーへの何らかの接続が必要です。
クライアントは websocket をリッスンしているのではなく、(サーバーに) 接続しているだけなので、サーバーからクライアントに接続することはできません。
ただし、クライアントにコードを配置して、イベントでonclose
(または単に) 再接続することができます。close
通常、これは、正しいパラメーターを使用してクライアントで WebSocket オブジェクトを再作成することによって発生します。
次のようなもの:
function connect(){
var mywebsocket = new WebSocket("ws://(your url)");
// ... my callbacks and functions...
mywebsocket.onclose = connect; // or arguments.callee
}
connect();
正しく動作するはずです。;)
幸運を。