0

私は、websocket を使用するバックボーン ベースのアプリケーション (タブレット アプリケーションでもあります) に取り組んでいます。Websockets はうまく機能していますが、アプリケーションにはエラー/ネットワーク処理のためのロジックがありません。

アプリは切断されたというメッセージをユーザーに表示する必要があり、アプリは再度接続を再試行する必要があり、接続が回復すると、gmail などの機能が再び開始されます。

私はサーバー側の Websocket コードを書いたことがなく、Websocket は初めてです。
ネットワークの切断、Websocket の再接続を処理する方法に関する良い記事はありますか?
Websocket でタイムアウトを設定する方法、または再接続する方法などを見つけることができません。

タブレットアプリのため、頻繁にネットワークが切断されたり、アプリがスリープモードになったりします。特別な考慮事項や慣行はありますか?

4

1 に答える 1

0

この記事によると、try/catch を使用して、接続できないなどの誤ったケースを処理できます。

function connect(){  
    try{  
    var socket;  
    var host = "ws://localhost:8000/socket/server/startDaemon.php";  
    var socket = new WebSocket(host);  
        message('<p class="event">Socket Status: '+socket.readyState);  
        socket.onopen = function(){  
             message('<p class="event">Socket Status: '+socket.readyState+' (open)');  
        }  
        socket.onmessage = function(msg){  
             message('<p class="message">Received: '+msg.data);  
        }  
        socket.onclose = function(){  
             message('<p class="event">Socket Status: '+socket.readyState+' (Closed)');  
        }  
    } catch(exception){  
         message('<p>Error'+exception);  
    }  
}

WebSocket の仕様でも、タイムアウト時間を設定することについての言及は見つかりませんでした。それは不可能かもしれません。

于 2012-12-13T08:48:22.617 に答える