2

次のコードで、クライアントがサーバーから切断されたことを検出できます。

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

しかし、切断されたクライアントに再接続するにはどうすればよいでしょうか?

4

2 に答える 2

1

クライアントが何らかの理由 (インターネット接続の中断/サーバーの問題) で切断された場合、クライアントは自動的に再接続します。試行回数やステータスを確認するには、http://docs.meteor.com/#meteor_status をご覧ください

バージョン 0.6.3 以降、インターネットが切断された場合。インターネットが復旧するとすぐに、再接続も試みます。

Meteor.reconnect()コードから再接続するには、クライアントから実行できます。

残念ながら、Meteor クライアントはサーバーからの接続をリッスンできないため、サーバーは再接続を開始できません。再接続などを行うためにクライアントにメッセージを送信するには、サーバーへの何らかの接続が必要です。

于 2013-05-17T07:16:11.137 に答える
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();

正しく動作するはずです。;)

幸運を。

于 2013-05-16T22:55:15.830 に答える