5

Diffusion JS API のコード例をいくつか調べていますが、再接続の例がわかりません。reconnectionStrategy のパラメータstartとパラメータは何ですか?abort

// Create a reconnection strategy that applies an exponential back-off
var reconnectionStrategy = (function() {
    return function(start, abort) {
        var wait = Math.min(Math.pow(2, attempts++) * 100, maximumAttemptInterval);

        // Wait and then try to start the reconnection attempt
        setTimeout(start, wait);
    };
})();

// Connect to the server.
diffusion.connect({
    host : 'diffusion.example.com',
    port : 443,
    secure : true,
    principal : 'control',
    credentials : 'password',
    reconnect : {
        timeout : maximumTimeoutDuration,
        strategy : reconnectionStrategy
    }
}).then(function(session) {

https://github.com/pushtechnology/diffusion-examples/blob/master/js/examples/reconnect.jsから取得

4

2 に答える 2

4

これらの 2 つの引数は、マニュアルreconnectではととして説明されていますが、どちらも使用できる関数です。abort

  • start/ reconnect- 再接続の試行を開始します。クライアントに別の接続を試みるように指示します。

  • abort- 再接続を中止するために呼び出される場合があります。その場合、クライアントは閉じられます。これ以上の試行が無益である、または望ましくないと思われる場合は、これを呼び出します。

この理解により、この例では、最大 60 秒まで指数関数的に (100 ミリ秒、200 ミリ秒、400 ミリ秒など) 増加する待機の間に再接続を試みることがわかります。再接続の試みが失敗した場合、再接続戦略関数が再度呼び出されます。

于 2016-07-07T14:50:53.977 に答える